写点什么

微软发布了 Axum

  • 2009-05-12
  • 本文字数:849 字

    阅读完需:约 3 分钟

Axum 是微软开发的并行编程语言,目前还处在试验阶段,两周前 InfoQ 公布了这个项目的发布计划。现在,Axum 的一个初期版本(v0.1)已经发布并提供下载

Axum 目前仍然是一个试验性的项目,微软 DevLabs 表示此次发布的版本,其主要目的是希望收集来自社区的反馈:

无论 Axum 最终是否会成为一个产品,是否能使并行编程变得更安全、更易于扩展和更高效,(社区的)反馈都是它成功的最大因素。

Axum 曾经叫做 Maestro,它的目标是提供一个.NET 环境下的并行编程模型,支持隔离、actor 和消息传递。此语言借鉴了很多 Erlang 语言的元素,不过拥有类似 C#的语法。

Axum 是一个拥有类似 C#语法的命令式语言,它面向 actor 和域(domain),而不是面向对象的,因此它拥有对象的概念,但是不能自定义类。Axum 主要用途是解决并发处理问题,它基于微软机器人实验室的 CCR ,其他.NET 平台的编程语言可以通过调用 Axum 来实现并发处理。

并行安全的最大障碍是共享数据。在 Axum 中使用共享数据之前需要进行声明,这样运行时就会控制数据访问的过程。语言中已经内建了并发控制机制。

Axum 的主要元素是域。域是一个资源仓库,它是数据、代理和函数的集合。域与域之间是相互隔离的,以此保护它们各自独立或共享的数据。域中的所有代理可以共享域中的数据,代理之间通过信道(Channel)来交换消息,而域中的函数都是无状态的。不同域的代理之间在通信时需要某种元数据来进行协调,这些元数据便是“架构(Schema)”。

基本上,一个代理就是可以和其他代理进行通信的线程,它们通过添加 reader 或 writer 的声明来访问共享数据:

复制代码
domain A {
int i;
int func(int k){}
writer agent X: Channel1 {}
reader agent Y: Channel2{}
}
domain B {
int j;
agent Z: Channel1 {}
}

域与域之间通过代理进行通信可以用下图来表示:

axum

您需要安装 Visual Studio 2008 才能使用 Axum。

相关链接:下载 Axum 语言规范(PDF), Axum 用户手册(PDF), Axum 项目组博客

查看英文原文: Axum, Microsoft’s Approach to Parallelism Microsoft Has Released Axum

2009-05-12 10:245502
用户头像

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

关注

评论

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

【VueRouter 源码学习】第四篇 - 创建路由映射表

Brave

源码 vue-router 9月日更

PostgreSQL插件之TimescaleDB

华为云数据库小助手

postgresql 插件 GaussDB 华为云数据库

合规安全大考核:移动应用安全策略全盘点

蚂蚁集团移动开发平台 mPaaS

RPC 移动开发 mPaaS 隐私安全 加固

当视频恋爱 App 用上了 Serverless

Serverless Devs

Serverless 云原生

NDK的C++ 库支持

Changing Lin

9月日更

阿里一面 五问 @Transactional

skow

Java Spring Boot 后端

解读顶会CIKM'21 Historical Inertia论文

华为云开发者联盟

华为云 论文 长序列时间 时间序列预测 CIKM’21

书单 | 做数字化转型,离不开这10本书!

博文视点Broadview

50亿海量数据如何高效存储和分析? GaussDB (for Cassandra) 3个秘诀搞定

华为云开发者联盟

存储 华为云 海量数据 分析 GaussDB (for Cassandra)

学校疫苗中心管理应用搭建心得

明道云

直播预告|如何通过“智能边缘安全”提升企业免疫力?

京东科技开发者

https 云安全 CDN加速 网站反爬 网站建设

LeetCode题解:897. 递增顺序搜索树,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

【Flutter 专题】55 日常问题小结 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

杀疯了,编程语言还能卷成这样❓❗【话题讨论】

InfoQ写作社区官方

话题讨论 话题

揭秘盒马鲜生 Android 短视频秒播优化方案

阿里云CloudImagine

android 音视频 短视频 Video播放器 移动端

netty系列之:搭建HTTP上传文件服务器

程序那些事

Java Netty HTTP 文件服务器 程序那些事

Vue进阶(九十六):VuePress 详解

No Silver Bullet

Vue 9月日更

Node.js 应用全链路追踪技术——[全链路信息获取]

vivo互联网技术

node.js 大前端 编程语言 全链路追踪 语言 & 开发

模块二

树建

架构实战营

Go- 文件读写-1

HelloBug

文件读写 Go 语言

自己动手写个微型博客吧,还能实现网页版 Blink,No.1

梦想橡皮擦

9月日更

架构实战营 - 模块七作业

思梦乐

ReScript 与 TypeScript,谁是前端圈的“当红辣子鸡”

华为云开发者联盟

Java JavaScript typescript 大前端 ReScript

华云大咖说 | 业务转型中的IT云化服务——安超云基座方案介绍

华云数据

携手强化「内容审核」能力,融云与数美科技达成战略合作

融云 RongCloud

音视频 内容安全 融云 即时通讯IM

叹服!阿里自述SpringCloud微服务:入门+实战+案例

Java~~~

Java spring 架构 面试 Spring Cloud

模块七

SAKIN

转型 Golang 开发的心路历程

baiyutang

php 云原生 求职 Go 语言 9月日更

微信PaxosStore:深入浅出Paxos算法协议

OpenIM

别问了,我真的不喜欢这个注解!

why技术

Java

这个夏天,这群大学生奔波在盐场里忙啥?

科技热闻

微软发布了Axum_.NET_Abel Avram_InfoQ精选文章