AutoResetEvent.WaitOne()是否释放线程池中的插槽?

时间:2009-11-21 17:07:44

标签: .net multithreading autoresetevent

我正在尝试同步异步方法。异步版本的主要优点是它释放了线程池中的一个插槽。我想在我的同步版本中保留这一优势。当我使用AutoResetEvent.WaitOne()时,就线程池的使用而言,它相当于一个Thread.Sleep()?

1 个答案:

答案 0 :(得分:2)

当您致电WaitOne时,当前线程将阻止并等待事件发出信号。就像使用Thread.Sleep一样,线程不会被释放到线程池中。不同之处在于,Thread.Sleep需要指定当前线程被阻塞的固定时间,而WaitOne将阻塞,直到某些其他线程调用Set或发生超时。< / p>