AutoResetEvent自動重置事件,與ManualResetEvent是相對的而言 ...
AutoResetEvent自動重置事件,與ManualResetEvent是相對的而言。它同樣用於線程間同步,請對照《C#多線程的用法7-線程間的協作ManualResetEvent》進行理解。
private static void MultiThreadSynergicWithAutoResetEvent() { //自動通知方式進行線程同步 AutoResetEvent are = new AutoResetEvent(false); Thread thread1 = new Thread(() => { //線程首先WaitOne等待一個可用的通知 are.WaitOne(); //在得到通知後,自動終止通知向後傳遞,所以下麵就是線程工作的代碼內容 Console.WriteLine("thread1 work"); //線程執行完必要功能後,再次啟動通知並向後傳遞 are.Set(); }); thread1.Start(); Thread thread2 = new Thread(() => { are.WaitOne(); Console.WriteLine("thread2 work"); }); thread2.Start(); are.Set(); }