NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

关注

评论

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

4+1 视图建模及架构设计工程实践

智在碧得

软件测试 性能测试 架构设计 软件建模 架构建模

软件测试学习笔记丨后端接口基本开发 - spring boot发送 POST请求

测试人

软件测试

Taylor Swift全新专辑上线华为音乐,谱写爱与诗歌音符

最新动态

MES系统 DE 生产绩效功能及分析

万界星空科技

绩效管理 生产管理系统 mes 工时管理 生产绩效

华为Mate X5升级HarmonyOS 4.2 大屏互动超有趣

最新动态

一文读懂Partisia Blockhain:兼顾去中心化、安全性与可扩展性

西柚子

回归测试的四个步骤

FunTester

一文读懂链游!探索链游的前世今生,区块链与游戏结合的新兴趋势

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

软件测试学习笔记丨Selenium多窗口处理

测试人

软件测试 自动化测试 测试开发 selenium

银行信创化需考虑生态建设

Geek_2305a8

OpenTiny 亮相 W3C 2024春季顾问委员会会议,共话行业新趋势。

OpenTiny社区

开源 前端 Web

“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?

阿里云云效

阿里云 云原生

区块链交易所技术开发架构解析 交易所开发团队

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

得物 ZooKeeper SLA 也可以 99.99%丨最佳实践

阿里巴巴云原生

zookeeper 阿里云 云原生

系统架构基础知识入门指南-下

老张

系统架构 业务流 端到端 技术实践

“AI 程序员入职系列”第二弹:如何利用通义灵码光速改写项目编程语言?

阿里巴巴云原生

阿里云 云原生

直播回顾|6个实例带你解读TinyVue 组件库跨框架技术

OpenTiny社区

开源 Vue 前端 组件库

【教程】iOS应用上架流程详解

AIGC在设计中的应用实践

智在碧得

AI 设计 AIGC AIGC技术探索

DAPP的商业模型创新: 探索可持续盈利路径

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

OpenAI创始人Sam独家专访!GPT5升级时间确定!

蓉蓉

人工智能 openai ChatGPT

牛批!大三就冲进腾讯了!2024最新大厂面经

王中阳Go

面试 面试题 大厂面经 Java 面试题 go面试题

销帮帮CRM与电商运营增效的关系?

RestCloud

CRM 业务系统 APPlink 自动化集成

高通将支持 Meta Llama 3 在骁龙终端运行;特斯拉中国全系车型降价 1.4 万元丨 RTE 开发者日报 Vol.189

声网

区块链钱包开发指南: 探究区块链钱包开发涉及

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

NFT卡牌质押分红模式开发技术讲解分析

区块链软件开发推广运营

区块链开发 链游开发 NFT开发 公链开发 区块链开发DAPP开发

Giants Planet 开启符文的新篇章,走向加密世界的最高峰

长安区块链

数栈+AI:数栈V6.2创新发布,让数据开发更智能

袋鼠云数栈

大数据 AI 信创 AI技术 大模型

多平台小程序管理最实用的工具

Geek_2305a8

混淆原理与实践指南

雪奈椰子

活动回顾丨云原生开源开发者沙龙北京站回放 & PPT 下载

阿里巴巴云原生

阿里云 云原生

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