❓Рубрика: Вопросы на собеседовании #вопросынасобесах №73
На позицию: Программист 1С
Вопрос:
Что такое дедлоки и как они образуются? Ответ:
«Дедлок (deadlock) — это ситуация в многопользовательской или многозадачной среде, когда два или более процессов (или транзакций) блокируют друг друга, ожидая освобождения ресурсов, которые удерживаются этими же процессами. В результате все вовлеченные процессы не могут продолжить выполнение, так как каждый из них ждет завершения другого.
Как образуются дедлоки?
Дедлоки возникают при одновременном выполнении следующих условий (условия Коффмана):
🔹 Взаимное исключение (Mutual Exclusion) – ресурс может быть занят только одним процессом в данный момент времени.
🔹 Удержание и ожидание (Hold and Wait) – процесс удерживает хотя бы один ресурс и запрашивает дополнительный ресурс, который уже занят другим процессом.
🔹 Отсутствие вытеснения (No Preemption) – ресурс не может быть принудительно отобран у процесса, его можно освободить только добровольно.
🔹 Круговое ожидание (Circular Wait) – существует циклическая цепочка процессов, где каждый процесс ждет ресурса, удерживаемого следующим процессом в цепочке.»
Шлите еще вопросы с ваших собесов 👉@GSKBusiness Напишем ответ и разберем его в комментариях.