写点什么

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

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

关注

评论

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

自动化测试-存储测试用例,哪个更好

和牛

Python 自动化 测试 8月月更

1分钟创建3000台云电脑 阿里云无影发布多款千人协同生产力方案

Lily

落地DevOps,探索高效研发运营一体化解决方案

云智慧AIOps社区

DevOps 质量管理 代码管理 自动化运维 研发效率

SpringMVC(五、AOP)

开源 springmvc spring aop 8月月更

【接入指南 之 云云接入】快速接入HONOR Connect平台(下)

荣耀开发者服务平台

开发者 IoT 新手指南 荣耀 honor

活动报名| MongoDB 使用规范及最佳实践线上直播来啦!

MongoDB中文社区

mongodb

30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

OpenHarmony开发者

OpenHarmony

“阿里爸爸”最新总结的303页Spring全家桶高级笔记,都是面试必问的知识点

Java工程师

Java spring Spring全家桶

全新升级!《云原生架构白皮书 2022 版》重磅发布

阿里巴巴云原生

阿里云 架构 云原生 白皮书

开源一夏 | 实战之AngularJS 的Scope和Service的深入应用心得

恒山其若陋兮

开源 8月月更

直播预告 | 如何从 0 到 1 打造敏捷团队?

Authing

解析 RocketMQ 业务消息——“事务消息”

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

想要精准营销,从学习搭建一套对的标签体系开始丨DTVision分析洞察篇

袋鼠云数栈

从洞察到决策,一文解读标签画像体系建设方法论丨DTVision分析洞察篇

袋鼠云数栈

A tour of gRPC:07 - gRPC bidirectional straming 双向流

BUG侦探

gRPC RPC protocolBuffer

有一说一!阿里巴巴8月最新发布的这份Spring Cloud Alibaba学习笔记,几乎涵盖了其所有操作

程序员小毕

Java 程序员 面试 微服务 SpringCloud

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

阿里巴巴云原生

阿里云 开源 微服务 云原生 nacos

如何提升IT对业务发展的贡献度

凌晞

数字化 构架 IT管理

实证与虚无,抽象和具象,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang接口(interface)的使用EP08

刘悦的技术博客

Go 编程 教程 Go web 教程分享

用 manim 写一个排序算法动画

ooooooh灰灰

算法 前端 后端 动画 排序

如何通过FinOps实现企业云成本优化?——信通院《中国FinOps产业发展现状研究报告》解读

星汉未来

云原生 k8s IT FinOps 云成本优化

开源项目丨一文详解一站式大数据平台运维管家ChengYing如何部署Hadoop集群

袋鼠云数栈

DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

极狐GitLab

Docker gitlab 运维 DevSecOps IaC

TDesign 品牌价值观

TDesign

袋鼠云申杭:数雁EasyDigit,致力成为金融行业数据洞察平台供应商的“领头雁”

袋鼠云数栈

培训预告 | 企业应用现代化实用教程——微服务治理与开发篇

York

容器 微服务 云原生 数字化转型 应用现代化

业内首份!博睿数据入选中国信通院《中国AIOps现状调查报告(2022)》

博睿数据

博睿数据 智能运维AIOps Swift AI

一文读懂BizDevOps:数字化转型下的技术破局

阿里云云效

技术 DevOps 云原生 数字化转型 开发.

化整为零优化重用,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang函数的定义和使用EP07

刘悦的技术博客

Go 教程 Go web 教程分享

MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力

EMQ映云科技

车联网 物联网 mqtt emqx 8月月更

深度学习公式推导:从神经元出发

老崔说架构

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