我不熟悉使用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()