C#多线程的用法8-线程间的协作AutoResetEvent
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(); }
作者:DW039
出处:http://www.cnblogs.com/dw039
本文由DW039原创并发布于博客园,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。