我想知道是否有人知道一篇好文章描述了将工作量分成几个线程?最好是为C#写的,但它确实是我追求的概念,所以如果它是用不同的,类似的语言编写的,那不是问题.
我有一个问题,我必须将大量的计算分成几个线程然后在一次迭代完成后对生成的数据求和(所以我需要知道所有线程都已完成),然后开始一个新的迭代,提供所有具有在最后一次迭代中生成的数据的线程(数据将在每次迭代结束之前被修改).
我希望这是有道理的,而且是可能的.无论哪种方式,我都会欣赏一些关于如何解决计算大量数据分成几个线程的问题的建议(因此我可以使用多个处理器的核心).
谢谢您的回答!
解决方法
您应该查看Parallel FX(PFX),您可以找到博客
here和下载链接
here(感谢Marc).
不幸的是我不知道这是否会发布.NET 2.0 / 3.5,因为它目前是针对.NET 4.0的.
如果您正在考虑自己实施它,请查看Work Stealing Algorithms.
Jeffrey Richter从Wintellect开设了一个名为Power Threading的图书馆,里面有一些相当不错的课程.