在C#中,AutoResetEvent
是一個同步原語,用于在多個線程之間進行通信。它有兩個狀態:Set
和 Reset
。當 AutoResetEvent
被設置為 Set
狀態時,等待的線程將被釋放;當它被設置為 Reset
狀態時,后續嘗試獲取事件的線程將被阻塞,直到事件被設置為 Set
狀態。
要初始化一個 AutoResetEvent
對象,你可以使用它的靜態構造函數創建一個未初始化的實例,或者使用 new
關鍵字創建一個已初始化的實例。以下是兩種初始化方法的示例:
AutoResetEvent autoResetEvent = new AutoResetEvent();
Set
狀態):AutoResetEvent autoResetEvent = new AutoResetEvent(true);
在這個例子中,我們使用 new AutoResetEvent(true)
創建了一個已初始化的 AutoResetEvent
對象,并將其設置為 Set
狀態。這意味著當線程嘗試獲取此事件時,它們將立即成功,而不會阻塞。