JLS для Java SE 11 Edition говорит в главе 17.2 :
Каждый объект, помимо связанного монитора, имеет связанный набор ожидания .Набор ожидания - это набор потоков.
Когда объект создается впервые, его набор ожидания пуст.
Документация из Object.wait
говорит:
Этот метод заставляет текущий поток (именуемый здесь T ) поместить себя в набор ожидания для этого объекта [...]
Затем поток T удаляется из набора ожидания для этого объекта [...]
Где находится этот набор ожидания ?
Формулировка «имеет связанный набор ожидания », а «набор ожидания для этого объекта» указывает, что он не является частью объекта.И, насколько я вижу, это не упоминается в class
Формат файла JVM.
Не установлен ли wait в JVM?Является ли это частью ОС, то есть планировщика потоков?
Существует ли API для чтения набора ожидания (т.е. для целей мониторинга)?Что-то вроде ThreadInfo
, возвращаемое ThreadMXBean
?