Встречается на собеседованиях • сегодня

Что такое Thread Starvation

Thread Starvation — ситуация, когда потоки не могут получить доступ к ресурсам из-за того, что другие потоки их монополизируют. Часто возникает при некорректном планировании или несправедливом распределении ресурсов.

Причины:

  • Высокоприоритетные потоки постоянно вытесняют низкоприоритетные.
  • Длинные критические секции без возможности перехвата.
  • Неправильная настройка пула потоков.

Пример:

java
synchronized(sharedResource) {
    // Долгая операция (например, чтение файла)
    // Другие потоки ждут бесконечно
}

Решение:

  • Использовать Lock с таймаутами (tryLock()).
  • Уменьшать время работы в synchronized-блоках.
  • Применять fair-режим в ReentrantLock (new ReentrantLock(true)).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы