并行化CPU密集型.NET应用程序的当前最佳选择是什么?

18 .net parallel-processing

这是一个开放式问题.我应该考虑哪些方法?

McK*_*eG1 9

您的第一步是找到并理解问题中的并行性.编写多线程代码并不比它替换的单线程代码更好."并行编程模式" (亚马逊)是关键概念的一个很好的介绍.

一旦有了可行的设计,就可以开始阅读MSDN Magazine档案(链接)中 "并发"主题中的文章,特别是Jeff Richter编写的任何内容.这些将为您提供特定于Windows和.NET的线程构造的基本内容.(Richter的"CLR via C#" (亚马逊)中的多线程部分很简短,但非常有见地 - 强烈推荐.)


Joh*_*ney 5

.NET有一些并行扩展,目前正在测试并可在Microsoft的Parallel Computing Developer Center中获得.他们有一些有趣的项目,比如Parallel foreach和LINQ的并行版本称为PLINQ.有关扩展的一些最佳信息在Channel 9上.