写点什么

.NET 并行扩展之模式与范例

  • 2010-05-22
  • 本文字数:685 字

    阅读完需:约 2 分钟

虽然从 2007 年开始微软致力于.NET 的并行扩展,但针对.NET 4.0 的多项功能仍未充分实现。有些内部框架的功能“过于专属”,而其它功能则有利于测试与用户反馈。 Stephen Toub 提到:

所幸的是大部分案例中,我们能够基于.NET 4 提供的并行架构与.NET 4 类型和方法来实现这项功能,并在其它案例中使用.NET 4 提供的扩展功能,让开发人员能清晰地实现独立的自定义功能。久而久之,我们收集了大量的案例,我们选择把 ParallelExtensionsExtras 作为.NET 4 范例的一部分进行公布,大家可从 http://code.msdn.microsoft.com/ParExtSamples 下载。

代码范例涵盖了多种不同的功能。以下列出大家关心的部分功能:

IProducerConsumerCollection 实现了 BlockingCollection 封装。该接口是用于传统厂商与客户解决方案的线程安全集合。它并不包含在.NET 4.0 当中,因为不同应用程序对 BlockingCollection 有不同的需求。

对于处理 COM 组件所需的单线程单元,微软提供了 StaTaskScheduler 。StaTaskScheduler 的入门版本简单易用,它启用若干预定义的 STA 线程并等待处理任务。微软推荐用户使用本地线程存储来给每个工作线程实例化 COM 对象。

对于 Rx Framework 感兴趣的开发人员,可以参考 Task.ToObservable 扩展方法。它可订阅 Task 的结果。如果该订阅在任务完成之前就被丢失,那么该任务也会被取消。

一个相对复杂的解决方案就是 ReductionVariable 。它包含一些值,与实例或线程一一对应,在归约操作中使用。基于本地线程的存储,减少了它在工作线程间同步的比例。归约操作一旦完成,就可以对这些值进行枚举来生成最终结果。

查看英文原文: Patterns and Samples for .NET Parallel Extensions

2010-05-22 05:112125
用户头像

发布了 87 篇内容, 共 25.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

在AI技术唾手可得的时代,挖掘新需求成为制胜关键——某知名代码文档生成系统需求探索

qife122

AI技术 需求挖掘 代码文档

我用Claude Code开发了Obsidian内容分发插件,爆了!(附教程)

苍何

工业管理 项目管理经验总结(33)

万里无云万里天

项目管理 工业 工厂运维

天润融通ZENAVA让家居售后进入全自动时代

天润融通

2025年必备的YashanDB数据库维护与故障排查指南

数据库砖家

过程控制 通讯维护经验总结(6)

万里无云万里天

工业 工厂运维 过程控制

全能搭子文心5.0,百度用原生全模态宣告回归

脑极体

天润融通ZENAVA上岗3C家电售后,90%的报修无需人工处理

天润融通

区块链/Web3 项目开发方法

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

区块链/Web3 项目外包的测试

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

智慧环保系统

深圳亥时科技

Rust RefCell 多线程读为什么也panic了?

非专业程序员Ping

rust rust语言 #Rust

基础设施即服务(IaaS)全面解析:云计算的基石

qife122

云计算 云基础设施

银行中外汇的由来(金融产品经理必读)

东边有耳

产品经理 金融科技 银行 结算 外汇

客户服务转折点:从工具效率到AI势能

天润融通

区块链/Web3 项目外包开发验收

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

区块链/Web3 项目的运维

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

配电 低压电工经验总结(19)

万里无云万里天

工业 工厂运维

用百度文心5.0修族谱,感觉又能了!!

苍何

Nagarro公布2025年第三季度财报并宣布股份赎回及回购计划

财见

大数据-154 Apache Druid 架构与组件职责全解析 版本架构:Coordinator/Overlord/Historical 实战

武子康

Java 大数据 分布式 Druid Apache Druid

传帮带 人才梯队建设经验总结(17)

万里无云万里天

人才培养 工业 工厂运维

2025年YashanDB支持的混合云架构发展前瞻

数据库砖家

.NET并行扩展之模式与范例_.NET_Jonathan Allen_InfoQ精选文章