与EventHandler进行线程同步

时间:2012-09-21 00:17:30

标签: c# synchronization

我坚持选择同步原语。

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

我应该使用manualResetEvent吗?我无法理解,有没有任何保证,如果我在控制线程中写这样的东西

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

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

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

1 个答案:

答案 0 :(得分:1)

在循环线程中使用Monitor.Wait(someObject),在事件提升线程中使用Monitor.PulseAll(someObject)