事件對象一般具有下述操作:
- wait- 執行中的執行緒被掛起直到事件為真。如果執行wait時事件已為真,則空操作。
- set- 設定事件狀態為真,所有等待此事件的進程變為可調度。
- clear- 設定事件狀態為假。
Microsoft Windows作業系統提供的事件核心對象,狀態為signaled對應於狀態為真;使用WaitForObject及相關係統函式實現wait操作,SetEvent系統函式實現set操作,ResetEvent系統函式實現clear操作。在創建事件對象時可以設定為“自動重置事件”或“手動重置事件”。當一個手動重置事件被觸發的時候,正在等待該事件的所有執行緒都將變成可調度狀態;而當一個自動重置事件被觸發的時候,只有一個正在等待該事件的執行緒會變成可調度狀態,該事件對象自動變為未觸發態。
事件類似於管程中的條件變數。