Найти в Дзене
DEBAGanov

Java 500. В каком состоянии будут заблокированные потоки?

Заблокированные потоки находятся в состоянии BLOCKED.

Когда поток пытается получить доступ к заблокированному ресурсу или ждет уведомления от другого потока с помощью метода wait(), он переходит в состояние блокировки (BLOCKED). При этом поток не выполняется и не использует процессорное время до тех пор, пока не будет разблокирован и получит доступ к ресурсу.

Заблокированный поток может ожидать доступа к монитору объекта или к другому ресурсу, который заблокирован другим потоком. Например, если один поток уже захватил монитор объекта с помощью ключевого слова synchronized и другой поток пытается получить доступ к тому же самому монитору, он будет блокирован до тех пор, пока первый поток не освободит монитор.

Заблокированный поток может перейти в состояние RUNNABLE, когда ресурс становится доступным для него. Например, если первый поток освободил монитор объекта, заблокированный поток может получить доступ к монитору и продолжить выполнение своей задачи.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov