相关疑难解决方法(0)

new AutoResetEvent(true)在C#中的用法?

我在想 ,

为什么我会永远想通过一个true在构造函数中AutoResetEvent

我创建了一个waitHandle任何打电话的人WaitOne()都会等待.

如果我用a来实例true,它就好像是立即发出信号 - 这就像没有等待的正常流程一样.

  EventWaitHandle _waitHandle = new AutoResetEvent (false);

void Main()
{
  new Thread (Waiter).Start();
    Thread.Sleep (1000);                   
    _waitHandle.Set();                    

Console.ReadLine();
}
  void Waiter()
  {
    Console.WriteLine ("AAA");
    _waitHandle.WaitOne();                 
    Console.WriteLine ("BBBB");
  }
Run Code Online (Sandbox Code Playgroud)

输出:

AAA...(delay)...BBB
Run Code Online (Sandbox Code Playgroud)

改为: EventWaitHandle _waitHandle = new AutoResetEvent (true);并且输出将是:

AAABBB
Run Code Online (Sandbox Code Playgroud)

问题:

  • 我为什么要这样做?(通过true)?

.net c# multithreading autoresetevent

15
推荐指数
2
解决办法
5632
查看次数

标签 统计

.net ×1

autoresetevent ×1

c# ×1

multithreading ×1