JavaTM 2 Platform
Standard Ed. 6

java.awt
介面 ActiveEvent

所有已知實作類別:
InvocationEvent

public interface ActiveEvent

知道如何對自身進行指派的事件的介面。通過實作此介面,可以使用 EventDispatchThread 將一個事件放置到事件佇列,並且指派該事件時將調用其 dispatch() 方法。

這是一種非常有用的避免死鎖的機制。如果執行緒正在執行某個關鍵部分(即它已經進入了一個或多個監視器),調用其他同步程式碼可能導致死鎖。為了避免潛在的死鎖,可以創建一個 ActiveEvent,以便以後運行程式碼的第二部分。如果存在監視器爭用,那麼在第一個執行緒已經完成工作並退出監視器之前,第二個執行緒將一直處於阻塞狀態。

出於安全性考慮,使用 ActiveEvent 來避免從一個關鍵執行緒中調用不受信任的程式碼通常是很值得的。例如,同位體實作可以使用此設施來避免從系統執行緒調用使用者程式碼。這樣做可以避免潛在的死鎖和拒絕服務攻擊。

從以下版本開始:
1.2

方法摘要
 void dispatch()
          將事件指派給目標、事件源偵聽器,或者做任何希望此事件去做的事情。
 

方法詳細資訊

dispatch

void dispatch()
將事件指派給目標、事件源偵聽器,或者做任何希望此事件去做的事情。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only