-
- 所有已知实现类:
-
InvocationEvent
public interface ActiveEvent
一个知道如何发送自己的事件的界面。 通过实现此接口,可以在事件队列上放置一个事件,并在使用EventDispatchThread
分派事件时调用其dispatch()
方法。这是避免死锁的非常有用的机制。 如果一个线程在关键部分执行(即,它已经进入一个或多个监视器),调用其他同步代码可能会导致死锁。 为了避免潜在的死锁,可以创建一个
ActiveEvent
以便稍后运行第二部分代码。 如果显示器上存在争用,则第二个线程将简单地阻止,直到第一个线程完成其工作并退出其监视器。出于安全考虑,通常希望使用
ActiveEvent
避免从关键线程调用不受信任的代码。 例如,对等实现可以使用此功能来避免从系统线程调用用户代码。 这样做避免了潜在的僵局和拒绝服务攻击。- 从以下版本开始:
- 1.2