WaitHandle.WaitAny还会重置除返回之外的其他句柄吗?

时间:2014-02-22 15:30:19

标签: .net synchronization

.NET框架方法WaitHandle.WaitAny(WaitHandle[])等待多个句柄并返回(如果已设置其中任何句柄)。返回值是传递的数组的设置句柄的索引。

如果句柄是AutoResetEvent,当有人等待它时它会自动重置并且现在已被解锁。

如果在等待时设置了多个句柄,WaitAny是否会消耗并重置其他信号,或者其他句柄是否保持设置,并在下次调用时返回另一个索引?如果它重置所有句柄,我怎么知道其他句柄也被设置而不会错过它们?我试图在这种情况下不使用ManualResetEvent,因为当我仍然意识到信号已经设置并且刚开始处理数据时,可能会有更多信号进入。

0 个答案:

没有答案