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