Spec-Zone.ru › OpenJDK 27

Интерфейс MonitorWaitRequest

Все суперинтерфейсы:
EventRequest, Mirror
public interface MonitorWaitRequest extends EventRequest
Запрос на получение уведомления о том, что поток в целевой виртуальной машине собирается ожидать на объекте-мониторе. То есть поток вызывает Object.wait(). Когда включённый MonitorWaitRequest удовлетворяется, event set, содержащий MonitorWaitEvent, помещается в EventQueue. Набором существующих MonitorWaitEvents управляет EventRequestManager
Начиная с версии:
1.6
См. также:
  • MonitorWaitEvent
  • EventQueue
  • EventRequestManager

Краткое описание полей

Поля, объявленные в интерфейсе EventRequest

SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE
Модификатор и тип Поле Описание
static final int SUSPEND_ALL
При возникновении события приостановить все потоки
static final int SUSPEND_EVENT_THREAD
При возникновении события приостановить только поток, вызвавший это событие
static final int SUSPEND_NONE
При возникновении события не приостанавливать потоки

Краткое описание методов

Модификатор и тип Метод Описание
void addClassExclusionFilter(String classPattern)
Ограничивает события, генерируемые этим запросом, событиями, в которых имя класса объекта-монитора не соответствует этому ограниченному регулярному выражению, например
void addClassFilter(ReferenceType refType)
Ограничивает события, генерируемые этим запросом, событиями, в которых объект-монитор имеет заданный ссылочный тип или один из его подтипов.
void addClassFilter(String classPattern)
Ограничивает события, генерируемые этим запросом, событиями, в которых имя класса объекта-монитора соответствует этому ограниченному регулярному выражению.
void addInstanceFilter(ObjectReference instance)
Ограничивает события, генерируемые этим запросом, событиями, в которых текущий выполняющийся экземпляр ("this") является указанным объектом.
void addThreadFilter(ThreadReference thread)
Ограничивает события, генерируемые этим запросом, событиями в указанном потоке.

Методы, объявленные в интерфейсе EventRequest

addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy
Модификатор и тип Метод Описание
void addCountFilter(int count)
Ограничивает число сообщений о запрошенном событии: оно будет сообщено не более одного раза после указанного количества возникновений.
void disable()
То же, что и setEnabled(false).
void enable()
То же, что и setEnabled(true).
Object getProperty(Object key)
Возвращает значение свойства с указанным ключом.
boolean isEnabled()
Определяет, включён ли в данный момент этот запрос события.
void putProperty(Object key, Object value)
Добавляет к этому запросу произвольное свойство — пару «ключ/значение».
void setEnabled(boolean val)
Включает или отключает этот запрос события.
void setSuspendPolicy(int policy)
Определяет, какие потоки следует приостановить при возникновении запрошенного события в целевой виртуальной машине.
int suspendPolicy()
Возвращает значение, описывающее, какие потоки следует приостановить при возникновении запрошенного события в целевой виртуальной машине.

Методы, объявленные в интерфейсе Mirror

toString, virtualMachine
Модификатор и тип Метод Описание
String toString()
Возвращает строку с описанием этого зеркала
VirtualMachine virtualMachine()
Возвращает VirtualMachine, которому принадлежит это зеркало.

Подробное описание методов

addThreadFilter

void addThreadFilter(ThreadReference thread)
Ограничивает события, генерируемые этим запросом, событиями в указанном потоке.
Параметры:
thread — поток, по которому выполняется фильтрация.
Исключения:
InvalidRequestStateException — если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.

addClassFilter

void addClassFilter(ReferenceType refType)
Ограничивает события, генерируемые этим запросом, событиями, в которых объект-монитор имеет заданный ссылочный тип или один из его подтипов.
Параметры:
refType — ссылочный тип, по которому выполняется фильтрация.
Исключения:
InvalidRequestStateException — если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.

addClassFilter

void addClassFilter(String classPattern)
Ограничивает события, генерируемые этим запросом, событиями, в которых имя класса объекта-монитора соответствует этому ограниченному регулярному выражению. Регулярные выражения могут задавать только точные совпадения и шаблоны, начинающиеся с '*' или заканчивающиеся на '*'; например, "*.Foo" или "java.*".
Параметры:
classPattern — строка-шаблон для фильтрации.
Исключения:
InvalidRequestStateException — если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.

addClassExclusionFilter

void addClassExclusionFilter(String classPattern)
Ограничивает события, генерируемые этим запросом, событиями, в которых имя класса объекта-монитора не соответствует этому ограниченному регулярному выражению, например "java.*" или "*.Foo".
Параметры:
classPattern — строка-шаблон, по которой выполняется фильтрация.
Исключения:
InvalidRequestStateException — если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.

addInstanceFilter

void addInstanceFilter(ObjectReference instance)
Ограничивает события, генерируемые этим запросом, событиями, в которых текущий выполняющийся экземпляр ("this") является указанным объектом.

Не все целевые системы поддерживают эту операцию. Используйте VirtualMachine.canUseInstanceFilters(), чтобы определить, поддерживается ли эта операция.

Параметры:
instance — объект, который должен быть текущим экземпляром, чтобы пройти этот фильтр.
Исключения:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает эту операцию.
InvalidRequestStateException — если этот запрос в данный момент включён или был удалён. Фильтры можно добавлять только к отключённым запросам.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где приведены более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API