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

.NET 4 特性聚焦:并行编程

  • 2008-10-20
  • 本文字数:649 字

    阅读完需:约 2 分钟

通用语言运行时(Common Language Runtime,CLR)以锁、线程和线程池的形式为并行编程提供基本的支持。不过,随着多核 CPU 重要性的逐步增加,大家又重燃构建高级并行编程函数库的热情。

很多人现在都投身于函数式编程的世界,由于它们具有不可变的对象,以及与生俱来的线程安全属性。基于 F#语言的 Haskell OCaml 可以归入此类。其他例如 Erlang 这样倍受大家偏爱的语言,是基于消息传递和轻量级进程的。除了支持 F#外,微软也尝试了几种不同的方式,以需求并行编程的准确提炼。

最先公布的产品是并行 LINQ( Parallel LINQ ),也即所谓的 PLINQ。类似对 SQL 的处理一样,并行的版本通过语言本身来处理,而无需开发人员的努力。通过把 AsParallel 附加到查询上,就能正常工作了。不过正如 SQL 一样,在这里通常还是需要设定很多额外的选项。

下一个出现的是结构化并行性语法( Structured Parallelism ),这种技术会让人想起 OpenMP。不过它不像 OpenMP 那样,使用编译器指令标记;微软的解决方案是基于匿名委托。最直观的反应就是代码只需作细微的修改;在“for”语句内的代码块,可以作为参数传递到“Parallel.For”函数中。

如果代码无法轻易地表示为查询或迭代循环,则可以选择任务并行库( Task Parallel Library )。乍看之下,它似乎是另外一种线程池,但它却支持任务之间的父子关系。

为了对应用程序进行更好地控制,微软提供了协调一致的数据结构( Coordination Data Structures )。它们为未来提供了线程安全的集合以及改良过的同步对象。

查看英文原文:.NET 4 Feature Focus: Parallel Programming

2008-10-20 23:521006
用户头像

发布了 254 篇内容, 共 53.5 次阅读, 收获喜欢 2 次。

关注

评论

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

开源一夏|OpenHarmony如何选择图片在Image组件上显示(eTS)

坚果

开源 OpenHarmony 8月月更

C++运算符重载(三)之递增运算符重载

CtrlX

c c++ 代码 进阶员进阶 8月月更

ABAP应用服务器的HTTP响应状态码(Status Code)

Jerry Wang

前端开发 HTTP web开发 SAP 8月月更

突破次元壁垒,让身边的玩偶手办在屏幕上动起来!

HMS Core

Spring 全家桶之 Spring Data JPA(一)

小白

8月月更

React Redux 组件更新/渲染原理 connect 中的 mapStateToProps

HullQin

CSS JavaScript html 前端 8月月更

5 张弹珠图彻底弄清 RxJS 的拉平策略:mergeMap、switchMap、concatMap、exhaustMap

掘金安东尼

前端 RXJS 8月月更

【精通内核】计算机程序的本质、内存组成与ELF格式

小明Java问道之路

编译原理 ELF 链接 签约计划第三季 8月月更

数据库 SQL 优化大总结之:百万级数据库优化方案

TimeFriends

8月月更

开源一夏 | 粗暴项目监控,快速上手Spring家族的亲儿子SpringAdmin监控项目

知识浅谈

spring 开源 8月月更

学习Apache ShardingSphere解析器源码(一)

我不吃六安茶

ANTLR Apache ShardingSphere

鲲鹏编译调试及原生开发工具基础知识

乌龟哥哥

8月月更

vue高频面试题合集(二)附答案

helloworld1024fd

Vue

Linux配置SSH免密码登录(非root账号)

程序员欣宸

SSH 8月月更

【LeetCode】重新格式化字符串Java题解

Albert

LeetCode 8月月更

开源一夏 | 参与开源能让人更幸福

石云升

开源 开源社区 8月月更

OAuth Client默认配置加载

阿提说说

Spring Security OAuth

云原生(十三) | Kubernetes篇之深入Kubernetes(k8s)概念

Lansonli

云原生 k8s 8月月更

Android进阶(一)Android 发邮件与几种网络请求方式详解

No Silver Bullet

android 8月月更 邮件发送

STM32入门开发 LWIP网络协议栈移植(网卡采用DM9000)

DS小龙哥

8月月更

SAP 产品增强技术回顾

Jerry Wang

SaaS SAP 企业级应用 云应用 8月月更

vue高频面试题合集(一)附答案

helloworld1024fd

Vue

开源一夏|5分钟快速为OpenHarmony提交PR(Web)

坚果

开源 OpenHarmony 8月月更

软件定制开发——企业定制开发app软件的优势

开源直播系统源码

软件开发 直播系统源码 app定制开发 软件定制开发

全新FIDE 编译简单评测

Geek_99967b

小程序

数字钱包红海角逐,小程序生态快速引入可助力占领智慧设备入口

FinClip

Kubernetes 维护技术分享

CTO技术共享

开源 签约计划第三季 8月月更

前端面试 | 必知必会的10道Promise题!

千锋IT教育

Open Office XML 格式中的 Style 设计原理

Jerry Wang

xml 微软 Office 8月月更 openOffice

浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试

Jerry Wang

编程语言 oop aop spring aop 8月月更

在座的Python爬虫工程师,你敢爬律师事务所站点吗?

梦想橡皮擦

Python 爬虫 8月月更

.NET 4特性聚焦:并行编程_.NET_Jonathan Allen_InfoQ精选文章