写点什么

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

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

关注

评论

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

「架构师训练营 4 期」 第九周 - 001&2

凯迪

架构师训练营 4 期

IDEA 常用插件与配置

TroyLiu

Java vim ide idea插件 IntelliJ IDEA

【笔记】第六周 - 第 2 课

Geek_娴子

(28DW-S8-Day16) 在线教育体验课

mtfelix

28天写作

二维码高端路线养成计

happlyfox

学习 技能 28天写作 3月日更

《精通比特币》学习笔记(第四章)

棉花糖

区块链 读书笔记 3月日更

小喜量化交易系统开发|小喜APP软件开发

系统开发

上线 Python 应用仅需一条命令的开源框架:Zappa(详细教程)

HelloGitHub

Python Serverless 无服务器云函数

工作日志3-2-3

技术骨干

阿里P8大佬亲自讲解!万字Android技术类校招面试题汇总,已拿offer

欢喜学安卓

android 程序员 面试 移动开发

10 个解放双手超实用在线工具,有些代码真的不用手写

程序员小富

Java

阿里P8大牛亲自讲解!难道Android真的凉了?3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

5分钟介绍AI人工智能,机器学习和深度学习,John 易筋 ARTS 打卡 Week 40

John(易筋)

ARTS 打卡计划 arts

世界上最好的排序算法是什么?

Nick

数据结构 算法 快速排序

拖延症这个毛病「Day 16」

道伟

28天写作

BI掌柜量化交易系统开发|BI掌柜炒币机器人软件APP开发

系统开发

女神节·走近又美又飒的程序媛

华为云开发者联盟

华为 程序媛 IT 工程师 汉服

大括号之谜:C++的列表初始化语法解析

华为云开发者联盟

c++ 函数 语法 元素 std::array

与前端训练营的日子 -- Week18

SamGo

学习

快速排序算法实现及优化

Silently9527

Java 排序算法 快速排序

实现一个全链路监控平台很难吗?Pinpoint、SkyWalking、Zipkin,哪个实现比较好?

xcbeyond

架构 技术方案 链路监控 3月日更

MT马特量化交易系统开发|MT马特量化交易软件APP开发

系统开发

数据分析师

Nydia

知识+AI融合创新探索,华为云论文被AI顶级学术期刊IEEE TPAMI接受

华为云开发者联盟

AI 模型 华为云 卷积神经网络 IEEE TPAMI论文

列表推导式与字典推导式,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

Dubbo SPI 使用源码分析

Yangjing

dubbo spi ProxyFactory 服务暴露 ExtensionFactory

Python基础之:函数

程序那些事

Python 数据分析 Python3 程序那些事

面试现场:小伙伴的美团一面分享和分析[含答案]

小傅哥

Java 面试 小傅哥

云边协同

lenka

云计算 产品经理 3月日更

Python 语言基础之 变量和常量

HoneyMoose

正则表达式.03 - 分组

insight

正则表达式 3月日更

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