AutoResetEvent 信号的使用
原文<https://www.cnblogs.com/zhangweizhong/p/6628442.html>
***主要记录几个信号的作用***
- new AutoResetEvent(false) 无信号,子线程的WaitOne方法不会被自动调用
- Set ():将事件状态设置为终止状态,允许一个或多个等待线程继续;如果该操作成功,则返回true;否则,返回false。
- WaitOne(): 阻止当前线程,直到收到信号。 .Set()方法给信号。
- WaitAll(): 等待全部信号。 .Set()方法给信号
解析
- AutoResetEvent(false) 没有信号状态,需要等待信号。 需要调用 .Set()方法
- AutoResetEvent(true) 有信号状态
- WaitOne() 方法 : 当前线程调用该方法后,线程处于等待状态,等待 .Set()给信号,线程继续往下执行
- WaitAll() 方法 : 等待全部信号,线程继续执行,没收到信号,就会阻塞当前线程,进入等待状态。