-
- All Superinterfaces:
-
Mirror
public interface EventQueue extends Mirror
目标虚拟机的调试器事件管理器。 事件总是分组在EventSets。 调试器后端生成的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参数包含非法值。
-
-