模块  java.desktop
软件包  java.awt

Interface ActiveEvent

  • 所有已知实现类:
    InvocationEvent

    public interface ActiveEvent
    一个知道如何调度自己的事件的接口。 通过实现此接口,可以在事件队列上放置一个事件,并在使用EventDispatchThread调度事件时调用其dispatch()方法。

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

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

    从以下版本开始:
    1.2
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      void dispatch()
      将事件发送到其目标,事件源的侦听器,或执行此事件应执行的任何操作。
    • 方法详细信息

      • dispatch

        void dispatch()
        将事件发送到其目标,事件源的侦听器,或执行此事件应执行的任何操作。