AutoResetEvent 允许线程通过发信号互相通信之同步信号的使用

AutoResetEvent 信号的使用

原文<https://www.cnblogs.com/zhangweizhong/p/6628442.html>

***主要记录几个信号的作用***
 -  new AutoResetEvent(false)      无信号,子线程的WaitOne方法不会被自动调用
 -  Set ():将事件状态设置为终止状态,允许一个或多个等待线程继续;如果该操作成功,则返回true;否则,返回false。
 -  WaitOne():     阻止当前线程,直到收到信号。 .Set()方法给信号。 
 -  WaitAll():      等待全部信号。        .Set()方法给信号

解析

  1. AutoResetEvent(false) 没有信号状态,需要等待信号。 需要调用 .Set()方法
  2. AutoResetEvent(true) 有信号状态
  3. WaitOne() 方法 : 当前线程调用该方法后,线程处于等待状态,等待 .Set()给信号,线程继续往下执行
  4. WaitAll() 方法 : 等待全部信号,线程继续执行,没收到信号,就会阻塞当前线程,进入等待状态。
原文地址:https://www.cnblogs.com/lunzhenlun/p/14632478.html