帮助移植线程功能:Win32 - > 。净

时间:2010-05-20 16:34:27

标签: .net winapi multithreading threadpool

我负责将一个类从传统的Win32代码移植到.Net,我遇到了一个线程模型,我不确定如何在.Net中实现最佳。基本上Win32有一个工作线程,它调用WaitForMultipleObjects()并在触发特定对象时执行特定的代码片段。这有一种先到先得的效果,我需要在自己的代码中模拟。但我不确定如何在.Net中做到这一点。有谁有想法吗?

我看到.Net中没有等效的WaitForMultipleObjects(),只有ThreadPool类,它似乎提供了我需要的大部分内容,但我不确定它是否是最好的,因为我只有四个对象总等待和执行代码。

谢谢,丹尼尔

1 个答案:

答案 0 :(得分:1)

嗯,有WaitHandle.WaitAnyWaitHandle.WaitAll - 这对您有帮助吗?

不可否认,我可能不会使用这种方法开始:我会使用生产者/消费者队列。你使用的是.NET 4吗?通过Parallel Extensions提供很多更好的线程支持,这使得这种事情变得容易。