C#中ManualResetEvent的使用方法是什么

avatar
作者
筋斗云
阅读量:1

在C#中,ManualResetEvent 是一个同步基元,允许一个线程通知另一个线程,某个事件已经发生。主要有以下几个方法:

  1. ManualResetEvent 构造函数:初始化一个 ManualResetEvent 实例,可以指定初始状态。
ManualResetEvent resetEvent = new ManualResetEvent(false); // 初始化为未终止状态 
  1. Set() 方法:将 ManualResetEvent 设置为终止状态,允许等待线程继续执行。
resetEvent.Set(); 
  1. Reset() 方法:将 ManualResetEvent 设置为非终止状态,阻止等待线程继续执行。
resetEvent.Reset(); 
  1. WaitOne() 方法:阻止当前线程,直到收到信号为止。
resetEvent.WaitOne(); 
  1. WaitOne(timeout) 方法:阻止当前线程,直到收到信号或超时为止。
resetEvent.WaitOne(1000); // 等待1秒钟 

使用 ManualResetEvent 可以很方便地实现线程同步和通信,例如在多线程环境中协调线程的执行顺序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!