Чем дедлок отличается от лайвлока?

При deadlock участники ждут друг друга и не могут продолжить. При livelock они активно реагируют и меняют состояние, но полезного продвижения всё равно нет.

Короткий ответ

Что ответить на собеседовании

При deadlock участники ждут друг друга и не могут продолжить. При livelock они активно реагируют и меняют состояние, но полезного продвижения всё равно нет.

Подробный разбор

Ответ с пояснениями

При deadlock участники ждут друг друга и не могут продолжить. При livelock они активно реагируют и меняют состояние, но полезного продвижения всё равно нет.

Пример deadlock — две горутины захватили разные locks и ждут второй в противоположном порядке. Livelock возможен, когда обе постоянно освобождают ресурс и повторяют попытку синхронно, мешая друг другу. Помогают единый порядок захвата, определённый арбитраж и backoff с jitter. Высокая активность процесса ещё не доказывает прогресс.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее