EventWaitHandle,AutoResetEvent和ManualResetEvent的区别

简单的说三个的关系是,AutoResetEvent和ManualResetEvent是EventWaitHandle的子类。从EventWaitHandle可以创建两者。

m_WaitHandle = new EventWaitHandle(false, EventResetMode.AutoReset);  // 类似AutoResetEvent
m_WaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);// 类似ManualResetEvent
项目 区别
EventWaitHandle 是下面两种的基类
AutoResetEvent Set的时候会自动调用Reset,并且Set之后一个调用WaiOne的地方有效,Reset的时候会随机的阻塞
ManualResetEvent Set后会把所有调用WaitOne的地方释放阻塞,需要手动Reset

猜你喜欢

转载自blog.csdn.net/woddle/article/details/82842770
今日推荐