Sobes.tech
Назад к вопросам
Middle+
4

Что такое Deadlock и Livelock? В чём отличие?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Deadlock (взаимная блокировка) — ситуация, когда два или более процесса навсегда блокируют друг друга, каждый ожидает освобождения ресурса, занятых другим процессом. Например, процесс A держит ресурс 1 и ждёт ресурс 2, а процесс B держит ресурс 2 и ждёт ресурс 1.

Livelock (живой блок) — ситуация, когда процессы не блокируются, но постоянно меняют своё состояние в ответ друг на друга, не продвигаясь вперёд. Например, два процесса постоянно уступают друг другу ресурсы, но ни один не может продолжить работу.

Отличие:

  • Deadlock — процессы ждут друг друга и не меняют состояние.
  • Livelock — процессы активны и меняют состояние, но прогресса нет.