Интерфейс EventSet
- Все суперинтерфейсы:
Collection<Event>, Iterable<Event>, Mirror, Set<Event>
public interface EventSet extends Mirror, Set<Event>
VirtualMachine в данный момент может быть создано несколько объектов Event. Например, для одного и того же Location может быть создано несколько объектов BreakpointRequest, или при пошаговом выполнении можно попасть в ту же точку, что и при запросе точки останова. Эти объекты Event доставляются вместе в виде EventSet. Для единообразия объекты Event всегда доставляются с помощью EventSet. EventSet доставляются через EventQueue. EventSet нельзя изменить. При выдаче набора событий в целевой виртуальной машине могли быть приостановлены потоки. Эти приостановки соответствуют suspend policy. Чтобы гарантировать соответствующие возобновления, рекомендуется, когда это возможно, завершать обработку набора событий вызовом EventSet.resume().
События, объединяемые в EventSet, ограничены следующими правилами:
- Всегда отдельные наборы:
- Только вместе с другими VMDeathEvents:
- Только вместе с другими ThreadStartEvents для того же потока:
- Только вместе с другими ThreadDeathEvents для того же потока:
- Только вместе с другими ClassPrepareEvents для того же класса:
- Только вместе с другими ClassUnloadEvents для того же класса:
- Только вместе с другими AccessWatchpointEvents для того же доступа к полю:
- Только вместе с другими ModificationWatchpointEvents для того же изменения поля:
- Только вместе с другими ExceptionEvents для того же возникновения исключения:
- Только вместе с другими MethodExitEvents для выхода из того же метода:
- Только вместе с другими событиями входа при конкуренции за монитор для того же объекта-монитора:
- Событие входа при конкуренции за монитор
- Только вместе с другими событиями входа после конкуренции за монитор для того же объекта-монитора:
- Событие входа после конкуренции за монитор
- Только вместе с другими событиями ожидания монитора для того же объекта-монитора:
- Событие ожидания монитора
- Только вместе с другими событиями завершения ожидания монитора для того же объекта-монитора:
- Событие завершения ожидания монитора
- Только вместе с другими событиями этой группы в той же точке и в том же потоке:
- Начиная с:
- 1.3
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
EventIterator |
eventIterator() |
Возвращает итератор, предназначенный для объектов Event. |
void |
resume() |
Возобновляет выполнение потоков, приостановленных этим набором событий. |
int |
suspendPolicy() |
Возвращает политику, используемую для приостановки потоков в целевой виртуальной машине для этого набора событий. |
Методы, объявленные в интерфейсе Collection
parallelStream, removeIf, stream, toArray
Методы, объявленные в интерфейсе Mirror
toString, virtualMachine
Подробное описание методов
suspendPolicy
int suspendPolicy()
EventRequest. В редких случаях политика приостановки может отличаться от запрошенного значения, если ClassPrepareEvent произошло в системном потоке отладчика. Подробности см. в описании ClassPrepareEvent.thread().
- Возвращает:
- значение suspendPolicy:
SUSPEND_ALL,SUSPEND_EVENT_THREADилиSUSPEND_NONE.
eventIterator
EventIterator eventIterator()
Event.resume
void resume()
suspendPolicy() имеет значение EventRequest.SUSPEND_ALL, вызов этого метода эквивалентен вызову VirtualMachine.resume(). Если политика приостановки имеет значение EventRequest.SUSPEND_EVENT_THREAD, вызов этого метода эквивалентен вызову ThreadReference.resume() для потока события. В противном случае вызов этого метода ничего не делает.
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jdi/com/sun/jdi/event/EventSet.html