.net - 微软的CCR与任务并行库

标签 .net ccr task-parallel-library

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/

相关文章:

c# - Azure 功能在主机 json 文件中设置 autoRenewTimeout 不起作用

performance - 如何在 F# 中实现异步而不是并行

wpf - 将使用 backgroundworker 的方法替换为 async/tpl (.NET 4.0)

.net - 在 using 语句中调用 Task.Run 可以吗?

c# - 在 C# 中处理异步 HttpWebRequest 异常的最佳方法是什么?

c# - 从查询字符串中获取 U+fffd/65533 而不是特殊字符

c# - WinForm/控制台混合应用程序中的行为

ccr - Microsoft CCR 是否获得了任何吸引力?

java - 需要从Java导出CCR格式的数据

concurrency - CCR:使用因果关系处理错误的最佳实践