0

我坚持选择同步原语。

情况就是这样:我有线程池,处于不定式循环中,并等待某个事件。还有另一个应该调用这个事件的线程。当事件触发时,所有等待线程都应该进行一次迭代并再次回退等待事件。

我应该为此使用 manualResetEvent 吗?我不明白,是否有任何保证,如果我在控制线程中写了这样的东西

event.Set();
event.Reset();

所有等待的线程都进行迭代,所有等待的线程只进行一次迭代,而不是两次或三次迭代。

或者我应该为我的案例使用另一个原语?

4

1 回答 1

1

Monitor.Wait(someObject)在循环线程和Monitor.PulseAll(someObject)事件引发线程中使用。

于 2012-09-21T00:20:35.300 回答