Deadlock
Суть
Deadlock (взаимная блокировка) — состояние, в котором два и более потока ждут друг друга бесконечно: каждый держит ресурс, нужный другому, и никто не может продолжить. Классические условия Коффмана: взаимное исключение, удержание с ожиданием, отсутствие вытеснения, циклическое ожидание. Достаточно разорвать одно из них, чтобы дедлок стал невозможен.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep