Microsoft至少有两种不同的方法来改进对并发操作的支持。
1)是并发协调运行时(CCR),它是Microsoft Robotics Studio和CCR & DSS Toolkit的一部分
2)Task Paralell库(TPL)(.NET 4.0的一部分,现在处于Beta 1版本中)
我想知道是否有人对这两种不同的软件有经验,并且会比较它们吗?
最佳答案
总的来说,两个框架都有互补但不同的目标。
CCR提供了用于并发流程协调的原语。协调是使一堆进程作为整体工作的粘合剂-因此CCR提供了用于通过所谓的 channel 交换消息的原语。进程可以等待消息到达一个或多个 channel ,或者多个 channel 中的任何一个,等等。这是一个很好的并发流程协调的特殊范例。还请注意,它不是免费的-如果要从Microsoft单独购买,则必须购买。
TPL提供了原语和基础架构,可以半自动地并行化计算或算法。并行的for循环是最明显的原语之一-看起来有点像for循环,但是尝试并行执行循环。
因此,如果您要在比使用共享状态和锁更高的层次上协调一堆过程,请使用CCR。如果您要在多核计算机上高效运行计算密集型流程,请使用TPL。
关于.net - 微软的CCR与任务并行库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/750104/