-
public interface EventSet extends Mirror, Set<Event>
可以在给定时间由目标VirtualMachine
创建几个Event
对象。 例如,给定的Location
可能有多个BreakpointRequest
,或者您可能单步到与BreakpointRequest相同的位置。 这些Event
对象作为EventSet一起传递。 为了均匀性,EventSet始终用于传送Event
个对象。 EventSet由EventQueue
提供 。 EventSet是不可修改的。与发布事件集相关联,目标VM中可能发生暂停。 这些悬挂对应于
suspend policy
。 为了确保匹配恢复发生,建议在可能的情况下完成对EventSet.resume()
设置的事件的处理。分组在事件集中的事件受以下限制:
- 总是单身套装
- 只有与其他VMDeathEvents:
- 只有与其他ThreadStartEvents相同的线程:
- 只有与其他ThreadDeathEvent相同的线程:
- 只有同一个类的其他ClassPrepareEvents:
- 只有与同一类的其他ClassUnloadEvents:
- 只有与其他AccessWatchpointEvent相同的字段访问:
- 只有与其他ModificationWatchpointEvent相同的字段修改:
- 只有与其他异常事件相同的异常发生:
- 只有与其他MethodExitEvent相同的方法退出:
- 只有与其他监视器竞争为相同的监视器对象输入事件:
- 监控进入事件
- 只有与其他监视器竞争输入的事件相同的监视器对象:
- 监控进入的事件
- 只有与其他显示器等待事件相同的监视器对象:
- 监视等待事件
- 只有与其他监视器等待事件相同的监视器对象:
- 监视等待事件
- 只有与这个组的其他成员,在相同的位置和在同一个线程:
- 从以下版本开始:
- 1.3
- 另请参见:
-
Event
,EventQueue
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 EventIterator
eventIterator()
返回特定于Event
对象的迭代器。void
resume()
恢复此事件集挂起的线程。int
suspendPolicy()
返回用于挂起该事件集的目标虚拟机中的线程的策略。-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
Methods inherited from interface com.sun.jdi.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()
。 否则,对此方法的调用是无效的。
-
-