Взаимная блокировка (deadlock)
Взаимная блокировка (англ. deadlock) — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.
Простейший пример взаимной блокировки
Шаг | Процесс 1 | Процесс 2 |
0 | Хочет захватить A и B, начинает с A | Хочет захватить A и B, начинает с B |
1 | Захватывает ресурс A | Захватывает ресурс B |
2 | Ожидает освобождения ресурса B | Ожидает освобождения ресурса A |
3 | Взаимная блокировка |