写点什么

微软发布了 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:245568
用户头像

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

关注

评论

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

C++如何写出异常安全的代码

行者孙

c++ 异常 错误处理 签约计划第二季

大数据开发技术NN和2NN工作机制

编程江湖

大数据

Vue之全局事件总线和消息订阅与发布

编程江湖

前端开发

dart系列之:安全看我,dart中的安全特性null safety

程序那些事

flutter dart 程序那些事 12月日更 flutter 调试工具

C++的explicit关键字

行者孙

c++ 签约计划第二季 explicit

设计模式【6.1】-- 初探适配器模式

秦怀杂货店

Java 设计模式

初识腾讯移动通讯 TPNS~

阿策小和尚

28天写作 Android 小菜鸟 12月日更

推倒重来的觉悟

FunTester

单元测试 Mockito powermock spock FunTester

20行Python scrapy 代码,去采集【蓝桥】训练营

梦想橡皮擦

12月日更

软件开发中的字符编码问题的思考

行者孙

c++ 软件开发 签约计划第二季 字符编码

音视频学习--X264码率控制--前瞻

Fenngton

音视频 H264 视频编解码 签约计划第二季

聊聊前端工程师如果做职业规划

全栈潇晨

职业规划 前端开发

react源码解析9.diff算法

buchila11

React

react源码解析10.commit阶段

buchila11

React

使用 JavaScript 给微信用户发送消息

汪子熙

微信 sdk 28天写作 Web JS SDK 12月日更

C++ 三种智能指针的使用场景

行者孙

c++ smart pointer 签约计划第二季

Android 值得学【Android专题2】

坚果

28天写作 Android; 12月日更

C++中的pimpl惯用法

行者孙

c++ 签约计划第二季 pimpl 惯用法

面试官:说说react的渲染过程

全栈潇晨

React

Java反射机制获取运行时类的完整结构

编程江湖

JAVA开发

Linux学习方法《Linux一学就会》:网络管理技术

侠盗安全

Linux linux运维 运维工程师 云计算架构师

技术分享| Linux高并发踩过的坑及性能优化

anyRTC开发者

Linux 音视频 高并发 服务器 高并发优化

今年双12,《代码随想录》冲榜TOP1

博文视点Broadview

0 基础学习 Flutter~(mini 进阶版)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter 内容合集 签约计划第二季

JavaMoney规范(JSR 354)与对应实现解读

vivo互联网技术

Java、 API 虚拟化 虚拟货币

给弟弟的信第12封|阅读对一个人有多重要

大菠萝

28天写作

React进阶(四):路由介绍

No Silver Bullet

React 路由 12月日更

【LeetCode】保持城市天际线Java题解

Albert

算法 LeetCode 12月日更

设计模式【6.2】-- 再聊聊适配器模式

秦怀杂货店

Java 设计模式 适配器模式

❤️使用 HTML、CSS 和 JS 创建在线音乐播放器(免费送完整源码)❤️

海拥(haiyong.site)

响应式 大前端 28天写作 签约计划第二季 12月日更

OPPO云VPC网络实践

安第斯智能云

云计算 SDN架构 智能网卡vpc

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