Как проверить, какая нить в данный момент блокирует переменную stati c - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть класс A и класс B

class A{

static B b;

public static synchronized init(){
  b = new B();
}

public static doSomething(){
   init();

   synchronized(b){ // thread gets stuck after calling this

   }
}

}

Предположим, класс A является частью большого приложения, которое может откуда-то вызывать метод init (). Проблема в том, что поток застрял в синхронизированном (б) блоке. Кажется, кто-то держит замок класса B? Есть ли способ проверить, какой поток удерживает блокировку класса B?

...