:icons: font
:sectanchors:
Я знаю 2 способа проверить держит ли поток монитор на объект.
Можно вызвать у объекта методы
wait()
илиnotify()
, которые выбросят исключение если вызваны не из синхронизированного блока. И собственно алгоритм такой - вызываемnewspaper.wait()
и если этот метод бросает исключние, значит лока нет!Можно вызвать статический метод
holdsLock(Object obj)
класса Thread, который и вернетtrue
если поток владеет монитором этого объекта.