Многопоточность middle
Deadlock, livelock, starvation — в чём разница?
Ответ
Deadlock: два потока ждут друг друга. Livelock: потоки активны, но не прогрессируют. Starvation: поток не получает ресурс.
Разбор: Различие в том, заблокирован поток или активен, и в причине простоя. Deadlock — взаимное циклическое ожидание (потоки спят на мониторах), livelock — потоки работают, но из-за реакций друг на друга не продвигаются, starvation — поток надолго лишён ресурса или CPU. Дистракторы переставляют эти определения местами, что и создаёт правдоподобную, но неверную картину: каждое из трёх описаний привязано не к своему термину.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.