写点什么

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

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

关注

评论

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

Java中的复用类

爱好编程进阶

Java 面试 后端开发

Java中高级核心知识全面解析——Linux基本命令

爱好编程进阶

Java 面试 后端开发

模块8-设计消息队列存储消息数据的 MySQL 表格

卡西毛豆静爸

#架构实战营

作业八

Geek_f3e842

架构实战营

JAVA 短链码生成工具类

爱好编程进阶

Java 面试 后端开发

GitOps多环境部署问题及解决方案

俞凡

研发效能 gitops

消息队列存储消息数据的 MySQL 表格设计

李大虾

#架构实战营 「架构实战营」

消息队列数据存储表设计

随欣所遇

架构训练营5期

都是分布式操作系统,Laxcus和鸿蒙有何不同?

LAXCUS分布式操作系统

分布式计算 分布式存储 集群架构 鸿蒙系统 分布式操作系统

【国产化替代专题】星环科技春季新品发布周

星环科技

性能分析优化的道与术

老张

性能优化 性能分析

微信小程序开发设计需要注意的五个点

源字节1号

前端 后端 软件开发 小程序开发

Hibernate和MyBatis的区别比较

爱好编程进阶

Java 面试 后端开发

JAVA 序列化、反序列化以及serialVersionUID

爱好编程进阶

Java 面试 后端开发

Java7日期时间API

爱好编程进阶

Java 面试 后端开发

市场进展不断,STI 包括ZB等一系列上线预示着什么?

西柚子

消息队列存储消息数据的 MySQL 表格

阿卷

架构实战营

JavaWeb之Cookie和Session技术(四)

爱好编程进阶

Java 面试 后端开发

JavaWeb快速入门--Servlet(2)

爱好编程进阶

Java 面试 后端开发

架构实战营:模块八作业

刘璐

模块3 作业

KennyQ

HashMap + 软引用进行缓存

爱好编程进阶

Java 面试 后端开发

统计代码耗时的工具

Rubble

4月日更 4月月更

尤达 DDD 领域驱动设计思想课程总结

代廉洁

尤达DDD领域驱动设计思想

week6作业

Asha

你好spring-cloud-kubernetes

程序员欣宸

4月月更

【模块八】设计消息队列存储消息数据的MySQL 表格

yhjhero

#架构训练营

商业分析:SheIn是怎样成功的?

石云升

跨境电商 商业分析 4月月更

Gitlab Java API 使用示例

Java gitlab 4月月更

消息队列存储消息数据的mysql表设计

五月雨

架构实战营 「架构实战营」

模块八作业:设计消息队列存储消息数据的 MySQL 表格

炎彬

「架构实战营」

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