モジュール java.desktop
パッケージ java.awt

インタフェースActiveEvent

  • 既知のすべての実装クラス:
    InvocationEvent

    public interface ActiveEvent
    自分自身をディスパッチできるイベントのためのインタフェースです。 このインタフェースを実装することにより、イベントはイベント・キューに入れられ、EventDispatchThreadを使用してイベントがディスパッチされるときにdispatch()メソッドが呼び出されます。

    このメカニズムは、デッドロックの発生を避けるために非常に有効です。 スレッドがクリティカル・セクションで実行されている場合、つまりスレッドが1つまたは複数のモニターに入っている場合、ほかの同期コードを呼び出すとデッドロックが発生することがあります。 デッドロックの発生を避けるため、ActiveEventを作成して2番目のセクションのコードをあとで実行させることができます。 モニターで競合がある場合、最初のスレッドが終了してモニターから抜けるまで、2番目のスレッドはブロックされます。

    セキュリティ上の理由から、ActiveEventを使用し、クリティカル・スレッドから信頼できないコードが呼び出されるのを避けなければならない場合があります。 たとえば、この機能をピアの実装で使用すると、システム・スレッドからのユーザー・コードの呼出しを避けることができます。 これにより、デッドロックやサービス妨害攻撃を回避できます。

    導入されたバージョン:
    1.2
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      void dispatch()
      イベントをターゲットであるイベント・ソースのリスナーに送るか、あるいはこのイベントに指定されている処理を実行します。
    • メソッドの詳細

      • dispatch

        void dispatch()
        イベントをターゲットであるイベント・ソースのリスナーに送るか、あるいはこのイベントに指定されている処理を実行します。