开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

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

关注

评论

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

AgentTesla病毒解析:利用钓鱼邮件窃取终端隐私数据

火绒安全

数据 终端安全 病毒 隐私安全

谈谈10年编程经历

非凸科技

程序员 编程语言 招聘 工程师 代码

所谓测试报告

FunTester

Authing 渠道合作伙伴火热招募中!

Authing

网络效应 Idaas 合作网络

Istio + SkyWalking + Spring Boot 实战 -Zadig 自测模式搞定开发者子环境

Zadig

DevOps 云原生 自动化测试 CI/CD

netty系列之:kequeue传输协议详解

程序那些事

Java Netty 程序那些事 5月月更

关于 WordPress 你了解多少?

海拥(haiyong.site)

WordPress 5月月更

MySQL缓存策略分析

C++后台开发

MySQL 数据库 后端开发 Linux服务器开发 C++后台开发

科创人·智慧芽技术副总裁屠昶旸:技术之路是挑战之路,不愿在大厂空耗岁月

科创人

技术人的推荐书单

Authing

身份云 科技书单

墨菲安全受邀与腾讯安全共话软件供应链安全治理

墨菲安全

程序员 腾讯安全 墨菲安全 软件供应链

kafka集群搭建

阿呆

Kafk

【小知识】云管理平台与一般管理系统有什么区别?

行云管家

云计算 云管理平台 云管理

Niobe开发板:基于OpenHarmony操作系统进行多线程(多任务)开发

拓维信息

OpenHarmony

跨平台应用开发进阶(七) :uni-app 自定义 showToast

No Silver Bullet

uni-app 5月月更 吐司弹窗 跨终端

当姿态估计算法遇上《本草纲目》,看“刘畊宏男孩”如何驱动虚拟人

阿里云CloudImagine

计算机视觉 虚拟人 人体姿态

观测云产品更新|优化观测云商业版注册流程;新增场景仪表板用户视图模版库;新增场景自定义查看器日志来源及筛选联动等

观测云

可观测性 可观测

如何在30分钟完成表格增删改查的前后端框架搭建

葡萄城技术团队

前端 前后端 系统搭建 表格系统

音视频开发进阶课程|第一期:音频要素

ZEGO即构

RTC 音视频开发 音视频课程 音视频基础入门

郑重声明

Authing

身份云 Idaas

不会这3个ChartBuilder使用技巧,怎么开发优秀的数字孪生可视化项目?

ThingJS数字孪生引擎

web前端培训学习中常见问题:竞态条件

@零度

前端开发

AI简报-Image Colorization调研

AIWeker

深度学习 5月月更 AI简报 Image Colorization

2022年广州市等保测评公司新排名看这里!

行云管家

网络安全 等保 等保测评 广州 等保测评公司

大数据培训在 Presto 中使用哈希改善动态集群缓存命中率

@零度

解读分布式调度平台Airflow在华为云MRS中的实践

华为云开发者联盟

Python spark airflow 华为云MRS 大数据集群

Tech Talk 活动预告丨云原生 DevOps 的 Kubernetes 技巧

亚马逊云科技 (Amazon Web Services)

云原生

FlyFish|前端数据可视化开发避坑指南(一)

云智慧AIOps社区

JavaScript 前端 node,js 数据可视化工具

跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程

No Silver Bullet

uni-app 极光推送 5月月更 云打包

森园区Web版大更新,多端同步互通,效果模版更新

ThingJS数字孪生引擎

java培训Redis缓存设计

@零度

redis JAVA开发

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