Для того щоб взаімоблокіровка стала можливою, повинні виконуватися чотири необхідних умови (Коффман, Елфік і Шошанні, 1970 г).
1. Умова взаємовиключення (Mutual exclusion). Одночасно використовувати ресурс може тільки один процес.
2. Умова утримання та очікування ресурсів. Процес може утримувати виділені ресурси під час очікування інших ресурсів.
3. Умова відсутності перерозподілу (неперераспределяемості). У процесу не можна примусовим чином забрати раніше отримані ресурси. Процес, що володіє ними, повинен сам звільнити ресурси.
4. Умова циклічного очікування. Існує замкнута ланцюг процесів, кожний з яких утримує як мінімум один ресурс, необхідний процесу, наступного у ланцюзі після даного (див. рис. 9.2).
Ресурс А
Требует Удерживается
Удерживается
Ресурс В
Требует
Рис. 9.2. Циклічне очікування ресурсів
Для того щоб відбулася взаімоблокіровка, повинні виконуватися всі ці чотири умови. Якщо хоча б одне з них відсутній, тупикова ситуація неможлива.