50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

给萌新HTML5 入门指南(二)

葡萄城技术团队

【涂鸦物联网足迹】物联网基础介绍篇

IoT云工坊

人工智能 云计算 物联网 云平台 AIOT

如何在面试中解释关键机器学习算法

计算机与AI

学习 数据科学

英特尔独显终于来了!锐炬®Xe MAX为非凡S3x带来设计师级创作体验

E科讯

接口测试用例编写和测试关注点

测试人生路

接口测试 测试用例

《Redis实战》.pdf

田维常

电子书

网易云音乐基于 Flink + Kafka 的实时数仓建设实践

Apache Flink

flink

央视呼吁电商双十一少一些套路:应该严打网店套路营销

石头IT视角

《Java EE设计模式:Spring企业级开发最佳实践》.pdf

田维常

电子书

《大数据之路:阿里巴巴大数据实践》.pdf

田维常

电子书

一场关于FLV是否要支持HEVC的争论

wangwei1237

技术文化

腾讯内容首发:分布式核心原理解析笔记+分布式消息中间件实践笔记PDF版

Java架构追梦

Java 架构 面试 分布式 消息中间件

颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程

996小迁

Java 程序员 架构 面试

《Git权威指南》.pdf

田维常

电子书

架构师训练营 W03 作业

Geek_f06ede

架构师训练

小熊派开发板实践:智慧路灯沙箱实验之真实设备接入

华为云开发者联盟

物联网 IoT 路灯

为什么阿里的程序员成长如此之快?看完Alibaba“Java成长笔记”我懂了!

Java架构追梦

Java 学习 架构 面试 成长笔记

环球易购数据平台如何做到既提速又省钱?

苏锐

大数据 hdfs S3 CDH 成本优化

阿里对Java候选人的面试考察重点,面P7必问(收藏备用)

小Q

Java 学习 架构 面试 高并发

《MongoDB实战》.pdf

田维常

电子书

​《自己动手做大数据系统》.pdf

田维常

电子书

《CSS权威指南》.pdf

田维常

电子书

《大话设计模式》.pdf

田维常

电子书

「排序算法」图解双轴快排

bigsai

排序算法 快速排序 双轴快排

架构师训练营 W03 总结

Geek_f06ede

架构师训练

Linux-技术专题-Linux命令如何进行查看进程

码界西柚

《图解HTTP》.pdf

田维常

电子书

测试攻城狮必备技能点!一文带你解读DevOps下的测试技术

华为云开发者联盟

敏捷开发 测试 瀑布流

CloudQuery V1.2.0 版本发布

BinTools图尔兹

数据库 sql 编辑器 工具软件

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

Learun

敏捷开发 快速开发 企业开发 企业应用

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