Module java.desktop
Package java.awt

Interface ActiveEvent

所有已知的实现类:
InvocationEvent

public interface ActiveEvent
一个可以自行分发的事件接口。通过实现这个接口,一个事件可以被放置在事件队列中,当事件被分发时,它的dispatch()方法将被调用,使用EventDispatchThread

这是一个非常有用的机制,可以避免死锁。如果一个线程正在执行在关键部分(即,它已经进入一个或多个监视器),调用其他同步代码可能会导致死锁。为了避免潜在的死锁,可以创建一个ActiveEvent在稍后的时间运行第二部分代码。如果在监视器上有争用,第二个线程将简单地阻塞,直到第一个线程完成其工作并退出其监视器。

出于安全原因,通常希望使用ActiveEvent来避免从关键线程调用不受信任的代码。例如,对等实现可以使用此功能来避免从系统线程调用用户代码。这样做可以避免潜在的死锁和拒绝服务攻击。

自 JDK 版本:
1.2
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    将事件分派到其目标、事件源的监听器,或执行此事件应该执行的操作。
  • Method Details

    • dispatch

      void dispatch()
      将事件分派到其目标、事件源的监听器,或执行此事件应该执行的操作。