写点什么

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

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

关注

评论

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

AI+阅读,华为阅读带来鸿蒙生态下的新体验新能力

最新动态

Visio绘图文件阅读器:VSD Viewer for Mac 激活版

你的猪会飞吗

mac软件下载 VSD Viewe下载

WAAP,提供Web应用程序与API的全面保护

德迅云安全杨德俊

直击HDC2024开发者主题演讲 HarmonyOS NEXT开发者解决方案全面升级

最新动态

万象革新,开启鸿蒙原生应用生态新篇章

最新动态

加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新

HarmonyOS SDK

华为 HarmonyOS

socks5全局代理客户端:Proxifier for Mac 注册版

你的猪会飞吗

Mac软件下载站 mac破解软件下载

互联网新的宝藏地,藏在鸿蒙生态里

最新动态

【HDC 2024】华为云开发者联盟驱动应用创新,赋能开发者成长

华为云开发者联盟

华为云 华为云开发者联盟 HDC2024 华为开发者大会2024 企业号2024年6月PK榜

2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建三角形。 如果无法构成三角形,则返回 “none“; 否则根据三角形的边长关系返回对应类型的字

福大大架构师每日一题

福大大架构师每日一题

华为云618营销季Web及移动App上云体验,助力软件行业创新发展

YG科技

GitHub标星破千!这份Python并行编程手册,可以封神了!

我再BUG界嘎嘎乱杀

Python 编程 后端 开发语言 并行编程

华为阅读携手多家头部出版机构,共创数字阅读新纪元

最新动态

鸿蒙生态伙伴SDK市场正式发布,驱动千行百业鸿蒙原生应用开发

HarmonyOS SDK

华为 HarmonyOS

HarmonyOS NEXT应用市场焕新:新体验,开启新增长

最新动态

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