-
public interface EventSet extends Mirror, Set<Event>
目标VirtualMachine
可以在给定时间创建几个Event
对象。 例如,对于给定的Location
,可能有多个BreakpointRequest
,或者您可以单步执行与BreakpointRequest相同的位置。 这些Event
对象作为EventSet一起提供。 为了统一,EventSet始终用于传递Event
对象。 EventSet由EventQueue
提供 。 EventSet无法修改。与发布事件集相关联,可能已在目标VM中发生暂停。 这些暂停符合
suspend policy
。 为确保匹配的恢复发生,建议尽可能使用EventSet.resume()
完成事件集的处理。在EventSet中分组的事件在以下方面受到限制:
- 单身套装:
- 仅适用于其他VMDeathEvents:
- 仅适用于同一线程的其他ThreadStartEvents:
- 仅适用于同一线程的其他ThreadDeathEvents:
- 仅适用于同一类的其他ClassPrepareEvents:
- 仅适用于同一类的其他ClassUnloadEvents:
- 仅对其他AccessWatchpointEvents进行相同的字段访问:
- 仅对其他ModificationWatchpointEvents进行相同的字段修改:
- 仅针对相同异常的其他ExceptionEvents发生:
- 仅对于同一方法退出的其他MethodExitEvents:
- 仅与其他Monitor争用同一监视器对象的输入事件:
- 监视器争用输入事件
- 仅与其他Monitor争用同一监视器对象的已输入事件:
- 监控竞争进入的事件
- 仅适用于同一监视器对象的其他Monitor等待事件:
- 监控等待事件
- 仅适用于同一监视器对象的其他Monitor等待事件:
- 监视等待事件
- 仅与该组的其他成员在同一位置和同一线程中:
- 从以下版本开始:
- 1.3
- 另请参见:
-
Event
,EventQueue
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 EventIterator
eventIterator()
返回特定于Event
对象的迭代器。void
resume()
恢复此事件集暂停的线程。int
suspendPolicy()
返回用于为此事件集挂起目标VM中的线程的策略。-
声明方法的接口 java.util.Collection
parallelStream, removeIf, stream, toArray
-
声明方法的接口 com.sun.jdi.Mirror
toString, virtualMachine
-
-
-
-
方法详细信息
-
suspendPolicy
int suspendPolicy()
返回用于为此事件集挂起目标VM中的线程的策略。 从每个事件请求的暂停策略中选择此策略; 目标VM选择暂停最多线程的策略。 目标VM根据该策略挂起线程,并在此处返回该策略。 有关可能的策略值,请参见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()
。 否则,调用此方法是无操作。
-
-