AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

即刻报名|Apache Kylin X Apache DolphinScheduler:大数据底座的构建和展望

Kyligence

数字化转型 数字分析 数据调度

五大理由告诉你为什么开发人员选择代码质量静态分析工具Klocwork来实现软件安全

龙智—DevSecOps解决方案

静态代码分析 代码静态分析 SAST工具 SAST

官方发布·2022南京智博会定于10月份在新庄国展召开

AIOTE智博会

一次多表关联顺序的慢查询——TiDB 关联特性

TiDB 社区干货传送门

性能调优

WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!

沉默王二

GitHub 终端工具

数据治理体系演进简介

网易数帆

大数据 数据治理 元数据 数据标准

手摸手带你 在 Windows 系统中安装 Istio

万猫学社

云原生 istio windows

自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易

万猫学社

云原生 istio envoy kiali

后台权限系统的设计以及主流的五种权限模型详解

Java全栈架构师

Java 程序员 架构 面试 后端

双因子与多因子身份验证有什么区别?

SEAL安全

身份验证

内存问题难定位,那是因为你没用ASAN

华为云开发者联盟

云计算 开发 内存

2022年6月互联网医疗领域月度观察

易观分析

医疗 市场

centOS7.3 安装启用 iptables 记录

JavaPub

Linux centos7 iptables

秘乐短视频挖矿系统开发详情

开发微hkkf5566

硅谷来信:快速行动,Facebook、Quora等成功的“神器”!

博文视点Broadview

没开发人员,接到开发物联网系统的活儿,干不干?

AIRIOT

低代码 物联网 低代码,项目开发

sync-diff-inspector 使用实践

TiDB 社区干货传送门

6.x 实践

2022 CCF国际AIOps挑战赛决赛暨AIOps研讨会报名已开启

BizSeer必示科技

人工智能 阿里云 华为云 信通院

有多一只“手”的机器狗出没?就在昇腾AI开发者创享日·南京站

科技热闻

多业务模式下的交易链路探索与实践

转转技术团队

中台 状态机 FSM

Apache APISIX Ingress v1.5-rc1 发布

API7.ai 技术团队

APISIX kubenetes Ingress Controller

莅临GOPS大会龙智展位,获取Forrester最新报告:《Forrester Wave™:2021年第四季度企业服务管理报告》

龙智—DevSecOps解决方案

ITSM Forrester Wave Forrester

不是吧?还有人不会定位线上MySQL慢查询问题?

Java永远的神

Java MySQL 数据库 程序员 面试

2000多字教你三招在Linux中找出大文件,最后一个命令简直太简单了!

wljslmz

Linux 签约计划第三季 8月月更

【7.29-8.5】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

版本控制篇 | 龙智邀您共赴GOPS全球运维大会,探索大规模、敏捷、高质量、开放式的软件研发与运营之路

龙智—DevSecOps解决方案

运维 DevSecOps GOPS大会

开源一夏 | Java格式化日期 微秒

六月的雨在InfoQ

开源 8月月更

HDD杭州站•ArkUI让开发更灵活

HarmonyOS开发者

HarmonyOS

Python开启虚拟环境

技术小生

8月月更 Python虚拟环境

SonarQube即将亮相第十八届GOPS全球运维大会

龙智—DevSecOps解决方案

代码安全 GOPS大会 运维、 代码质量检测工具

关注微信公众号,自动登陆网站

源字节1号

微信小程序

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