共用方式為


事件物件 (同步處理)

事件物件 是同步處理物件,其狀態可以使用 setEvent 函式明確設定為訊號。 以下是兩種類型的事件物件。

物件 描述
手動重設事件 事件物件,其狀態會保持訊號,直到它明確重設為非信號,ResetEvent 函式。 發出訊號時,可以在 的其中一個等候函式中,指定相同事件物件的任意數目等候線程或線程。
自動重設事件 事件物件,其狀態會保持訊號,直到釋放單一等候線程為止,此時系統會自動將狀態設定為未簽署狀態。 如果沒有線程正在等候,事件對象的狀態會維持訊號。 如果有多個線程正在等候,則會選取等候的線程。 請勿假設先出先出 (FIFO) 順序。 核心模式 APC 等外部事件可以變更等候順序。

 

事件對象有助於將訊號傳送至線程,指出已發生特定事件。 例如,在重疊的輸入和輸出中,系統會在重疊的作業完成時,將指定的事件物件設定為訊號狀態。 單個線程可以在數個同時重疊的作業中指定不同的事件對象,然後使用其中一個多重物件 等候函式 等候任一事件對象的狀態發出訊號。

線程會使用 CreateEventCreateEventEx 函式來建立事件物件。 建立線程會指定物件的初始狀態,以及它是手動重設或自動重設事件物件。 建立線程也可以指定事件對象的名稱。 其他進程中的線程可以在呼叫 OpenEvent 函式時指定其名稱,以開啟現有事件物件的句柄。 如需 mutex、事件、旗號和定時器物件名稱的其他資訊,請參閱 Interprocess 同步處理

使用事件物件