-
- All Superinterfaces:
-
Mirror
public interface EventQueue extends Mirror
目标虚拟机的调试器事件管理器。 事件总是分组在EventSet
s。 调试器后端生成的EventSet可以在这里读取。 EventQueue有一个实例分配给一个特定的VirtualMachine
。有些事件会导致目标虚拟机的悬挂-事件请求(
com.sun.jdi.request
)与suspend policy
的SUSPEND_ALL
或者SUSPEND_EVENT_THREAD
,有时VMStartEvent
。 如果这些悬架未恢复,目标VM将挂起。 因此,从事件队列直到包含VMDisconnectEvent
的EventSet为止读取每个EventSet,总是很好的策略为remove()
。 除非resume
以另一种方式处理,否则每个EventSet应调用EventSet.resume()
。- 从以下版本开始:
- 1.3
- 另请参见:
-
EventSet
,VirtualMachine
-
-
方法详细信息
-
remove
EventSet remove() throws InterruptedException
等待下一个可用的事件永远。- 结果
-
下一个
EventSet
。 - 异常
-
InterruptedException
- 如果任何线程中断了此线程。 -
VMDisconnectedException
- 如果与目标虚拟机的连接不再可用。 注意,这将永远在一个VMDisconnectEvent
之前。
-
remove
EventSet remove(long timeout) throws InterruptedException
等待下一个可用事件的指定时间。- 参数
-
timeout
- 等待下一个事件的时间(毫秒) - 结果
-
下一个
EventSet
,如果有超时则为 null。 - 异常
-
InterruptedException
- 如果任何线程中断了此线程。 -
VMDisconnectedException
- 如果与目标虚拟机的连接不再可用。 注意,这将始终是一个VMDisconnectEvent
。 -
IllegalArgumentException
- 如果timeout参数包含非法值。
-
-