QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

.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:111822
用户头像

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

关注

评论

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

即刻职达携手众多企业达成战略合作,共绘人力资源行业创新发展新篇章

新消费日报

LLM 大模型学习必知必会系列(五):数据预处理(Tokenizer分词器)、模板(Template)设计以及LLM技术选型

汀丶人工智能

人工智能 大模型

实战指南:API 集成测试详解

Apifox

测试 后端 集成测试 API 测试工具

报名倒计时丨职场<火焰杯>测试开发大赛报名仅剩最后3天!

测试人

软件测试

如何用ByteHouse,实现金融场景下的精准营销

极客天地

赛前辅导 | 职场<火焰杯>测试开发大赛赛前辅导-Web自动化测试

测吧(北京)科技有限公司

测试

事业-最佳实践-架构-泛化建模

南山

领域驱动设计 DDD 领域建模 领域模型 泛化

事业-最佳实践-架构-理解软件架构的意义

南山

架构 软件架构

京东面试:如何进行JVM调优?

王磊

Java

一文了解npm install -g和npm install --save-dev的关系

华为云开发者联盟

JavaScript 前端 华为云 华为云开发者联盟 企业号2024年5月PK榜

快速了解什么是MES系统

万界星空科技

工业互联网 制造业 生产管理系统 mes 万界星空科技

【深度解析】那些你不得不知的常见接口协议!

测试人

软件测试

融云荣获甲子光年「2024 中国 AI 出海服务创新企业」奖

融云 RongCloud

事业-最佳实践-架构-框架选型

南山

框架 技术选型 框架选型

一键自动化博客发布工具,用过的人都说好(头条篇)

程序那些事

工具 程序那些事 自动发布

NFTScan 正式上线 Mint NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT NFTScan API 文档

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(2)

HarmonyOS SDK

HarmonyOS

自如开启国际化租房业务布局,中国经验能否复制到全球?

Alter

企业如何做好 SQL 质量管理?

爱可生开源社区

sql SQL审核 SQLE SQL质量

赛前辅导 | 职场<火焰杯>测试开发大赛赛前辅导-Web自动化测试

测试人

软件测试

百度文库行业首发「智能画本」功能,跨模态AI内容创作行业领先

极客天地

报名倒计时丨职场<火焰杯>测试开发大赛报名仅剩最后3天!

测吧(北京)科技有限公司

测试

事业-最佳实践-架构-降低系统复杂度

南山

架构设计 架构设计原则 设计原则 复杂度 系统复杂度

MySQL 社区经理:MySQL 8.4 InnoDB 参数默认值为什么要这么改?

爱可生开源社区

MySQL 新特性 MySQL 8.4

万界星空科技QMS系统如何管理车间产品的质量

万界星空科技

质量管理 万界星空科技 QMS 生产质量

EIP-3074:革新以太坊授权方式的里程碑

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

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