温馨提示×

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

c#
小亿
161
2024-03-08 15:19:23
栏目: 编程语言

在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 可以很方便地实现线程同步和通信,例如在多线程环境中协调线程的执行顺序。

0