写点什么

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

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

关注

评论

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

week1-食堂就餐卡系统架构设计

暖丶冬

架构师到底是什么

molingwen

极客大学架构师训练营

架构师训练营丨第一周丨学习总结

Frode

极客大学架构师训练营

架构师训练营-作业1-食堂就餐卡系统设计

紫极

极客大学架构师训练营 架构文档

架构师训练营-week1-学习总结

暖丶冬

架构设计第一课

Dennis

就餐卡管理系统设计文档

nihuihua

练习1-1

闷骚程序员

第一周总结

王志祥

极客大学架构师训练营

学习总结

nihuihua

架构师训练营-学习笔记-第一周

superman

学习 极客大学架构师训练营

Week 01 作业:食堂就餐卡系统设计

鱼_XueTr

第一周:食堂就餐卡系统设计

Alex

极客大学架构师训练营

缘起:被束缚的架构师

GAC·DU

极客大学架构师训练营

食堂就餐卡系统设计

molingwen

极客大学架构师训练营

架构师和架构

拈香(曾德政)

架构师 极客大学架构师训练营

食堂就餐卡系统设计

努力努力再努力m

架构 极客大学架构师训练营

架构师训练营第一周学习总结

梦行

极客大学架构师训练营

架构方法之架构设计文档【总结】

小叶

架构设计

食堂收费系统用例图

也良

作业一:食堂就餐卡系统设计

梦行

极客大学架构师训练营

架构师训练营 第一周总结

netbanner

极客大学架构师训练营

架构师训练营第一周-总结

无心水

极客大学架构师训练营 UML

食堂就餐卡系统设计

泛岁月的涟漪

架构师训练营-第一周总结

+╮(╯▽╰)╭/>……

第一周:课程笔记及总结

Alex

极客大学架构师训练营

week1.学习总结

个人练习生niki👍

食堂就餐卡系统设计

拈香(曾德政)

架构设计 极客大学架构师训练营

架构师训练营总结

Coder

极客大学架构师训练营

架构师训练营总结-1

River Tree

极客大学架构师训练营 个人总结

第一周作业

free[啤酒]

架构

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