根据收到的数据继续线程

时间:2016-12-03 16:50:52

标签: c# multithreading

假设我有3个线程T1,T2,T3等待数据D1,D2,D3。数据由另一个线程提供。如何暂停线程和(A)让一个用于手头的数据继续,或者作为另一种方法,我如何(B)让所有三个线程执行单个循环检查它们是否有可用的数据然后再次停止。

为了使它更具体一点,假设D2可用,然后使用解决方案(A)线程T2应该继续并且使用解决方案(B)所有三个将继续并且在检查之后验证数据是否适合他们如果对他们来说不再拖延。

我知道我可以通过带有数据键的字典和每个线程的AutoResetEvent解决这个问题,但这看起来并不优雅......有更优雅的方式吗?

谢谢!

埃德。

0 个答案:

没有答案