java.awt
インタフェース ActiveEvent
- 既知の実装クラスの一覧:
- InvocationEvent
- public abstract interface ActiveEvent
自分自身の送信方法がわかっているイベントのためのインタフェースです。このインタフェースを実装することにより、イベントはイベントキューに入れられ、EventDispatchThread
を使用してイベントが送信されるときに dispatch()
メソッドが呼び出されます。
この機構は、デッドロックの発生を避けるために非常に有効です。スレッドがクリティカルセクションで実行されている場合、つまりスレッドが 1 つまたは複数のモニターに入っている場合、ほかの同期コードを呼び出すとデッドロックが発生することがあります。デッドロックの発生を避けるため、ActiveEvent
を作成して 2 番目のセクションのコードをあとで実行させることができます。モニターで競合がある場合、最初のスレッドが処理を終了してモニターから抜けるまで、2 番目のスレッドはブロックされます。
セキュリティ上の理由から、ActiveEvent
を使用する必要がある場合があります。ActiveEvent
を使用すると、クリティカルスレッドから信頼できないコードが呼び出されるのを避けることができます。たとえば、この機能をピアの実装で使用すると、システムスレッドからのユーザコードの呼び出しを避けることができます。これにより、デッドロックやサービス妨害攻撃を回避できます。
メソッドの概要 |
void |
dispatch()
イベントをターゲットであるイベントソースのリスナーに送るか、あるいはこのイベントに指定されている処理を実行します。 |
dispatch
public void dispatch()
- イベントをターゲットであるイベントソースのリスナーに送るか、あるいはこのイベントに指定されている処理を実行します。
バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.