Я пытаюсь проанализировать дамп потока, который, по-видимому, указывает на наличие множества потоков, ожидающих java.util.concurrent.Semaphore разрешает, т. е. потоки ожидают Semaphore.acquire().
Это я мог предположить, потому что потоки находятся в состоянии ОЖИДАНИЯ (парковки), и, насколько я понял, семафоры не используют мониторы LOCK, а используют LockSupport.park(), ожидая, пока другой поток разблокирует его.
Теперь, есть ли способ понять из дампа потока, какие все потоки в настоящее время содержат разрешения семафора?
Аналогично поиску потоков в состоянии BLOCKED и проверке того, какой поток удерживает LOCK, из-за которого поток блокируется?