写点什么

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

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

关注

评论

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

MyBatis-技术专题-动态SQL

码界西柚

MyBatis-技术专题-拦截器介绍

码界西柚

网易:Flink + Iceberg 数据湖探索与实践

Apache Flink

flink 数据湖

作为一名Java程序员,技术栈的广度深度都不够还想要高薪?请先把这些技术掌握再说。

Java架构之路

Java 程序员 架构 面试 编程语言

项目吐槽之需求分析二

Geek_XOXO

项目管理 pmp 项目实战

Spring 5.2.7和SpringBoot 2.3.3中文翻译发布啦!!!

青年IT男

spring springboot

一周信创舆情观察(10.12~10.18)

统小信uos

笔记本中的“全优生”,英特尔Evo产品上市首日秒光!

E科讯

极客时间架构师训练营第一周学习总结

爱码士

课程总结

两个程序员老友的会面

Philips

敏捷开发

LeetCode题解:50. Pow(x, n),暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

了解HashMap数据结构,超详细!

程序员的时光

面试 hashmap HashMap底层原理

第五周学习代码技术选型总结

三板斧

极客大学架构师训练营

架构师训练营第一周作业

爱码士

架构设计

普通人如何站在时代风口学好AI?这是我看过最好的答案

华为云开发者联盟

AI 算法

技术体系的构成

凌晞

技术 技术管理 研发体系

大数据上手实战!训练营“9营齐开”第二季限时免费报名啦

Apache Flink

大数据

2020,国产数据库崭露峥嵘的发轫之年

墨天轮

数据库 阿里云 华为云 SQL优化 热门活动

华为云如何赋能无人车飞驰?从这群AI热血少年谈起

华为云开发者联盟

人工智能 无人驾驶

架构师训练营 1 期 - 第五周 - 技术选型

三板斧

极客大学架构师训练营

【API进阶之路】研发需求突增3倍,测试团队集体闹离职

华为云开发者联盟

软件开发 开发 开发测试

架构师训练营培训第一周总结

lakers

极客大学架构师训练营

我从高级开发者身上学到的19条编码原则

Java架构师迁哥

第一周学习总结

Griffenliu

1024!奈学教育致敬程序员3+2战略发布会重磅来袭

古月木易

程序员 奈学教育

想自己写框架?不会写Java注解可不行

Java架构师迁哥

不会java的人能不能读《Head First设计模式》?

Nydia

为什么说容器的崛起预示着云原生时代到来?

华为云开发者联盟

容器 云原生

Java高并发编程的一本百科全书《Java高并发编程详解:多线程与架构设计》,把Java语言中最为晦涩的知识点都详解出来了!

Java架构之路

Java 程序员 架构 并发编程 编程语言

阿里18道常见的MySQL面试题,含解析

Java架构师迁哥

1分钟带你入门 React SCU、memo、pureCom

Leo

react.js 大前端 React

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