Объекты монитора Java: потоки BLOCK на некоторых

В то время как я отчаянно пытался что-то распутать, я обнаружил TDA, инструмент анализа дампа потоков для Java. Почему-то я не чувствую, что слежу за его выходом. Например, не должен ли был быть один поток в состоянии RUNNABLE в случае, когда существует экземпляр монитора, на котором 8 потоков заблокированы? Какой-то поток должен был получить блокировку этого монитора, чтобы перевести другие 8 потоков в состояние БЛОКИРОВАН, не так ли?

Второе - в терминологии TDA - есть категория "Потоки спят на мониторах (спит 675 потоков)" и категория "Мониторы блокировки потоков (блокировка 806 потоков)". Обе эти категории содержат потоки, которые являются или WAITING, BLOCKED или TIMED_WAITING. Единственное отличие, которое я могу сказать, состоит в том, что последняя категория также содержит потоки в состоянии RUNNABLE. Есть ли другие различия между ними? Чего я не понимаю, так это синтагмы "спать на мониторах".

Спасибо!

0 ответов

Другие вопросы по тегам