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

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

ManualResetEvent 构造函数:初始化一个 ManualResetEvent 实例,可以指定初始状态。

ManualResetEvent resetEvent = new ManualResetEvent(false); // 初始化为未终止状态

Set() 方法:将 ManualResetEvent 设置为终止状态,允许等待线程继续执行。

resetEvent.Set();

Reset() 方法:将 ManualResetEvent 设置为非终止状态,阻止等待线程继续执行。

resetEvent.Reset();

WaitOne() 方法:阻止当前线程,直到收到信号为止。

resetEvent.WaitOne();

WaitOne(timeout) 方法:阻止当前线程,直到收到信号或超时为止。

resetEvent.WaitOne(1000); // 等待1秒钟

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

阅读剩余
THE END