c#threadpool等待ManualResetEvent

时间:2013-02-06 10:26:12

标签: c# multithreading threadpool waithandle manualresetevent

我不熟悉使用ThreadPool。为此,我的应用程序的结构类似于MSDN中的Fibonacci示例:

http://msdn.microsoft.com/en-us/library/3dasc8as(v=vs.80).aspx

在我的应用程序中,大多数事情都正常运行(所有线程都已创建,附加的方法在每个执行结束时执行并且每个线程附加的ManualResetEvent正确set()方法)。但是,当设置了所有WaitHandle.WaitAll(doneEvents);时,似乎不会触发创建此ThreadPool的方法中的语句doneEvents。我已经检查过附加到doneEvents的{​​{1}}的HashCode与WaitHandle.WaitAll(doneEvents);中每个线程调用的方法末尾ManualResetEvent的HashCode相同。

我现在想知道还有什么可能导致这个问题。有任何想法吗 ? 提前感谢您的帮助。

编辑:这是代码的简化版本(不编译)

set()

0 个答案:

没有答案