2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

当音乐学博士搞起编程...

程序猿DD

Spring Frame

即构小程序直播组件集成教程

ZEGO即构

物流快递公司APP架构设计

jorden wang

初识ClickHouse——安装与入门

Simon

Clickhouse

iOS性能优化 — 五、App启动优化

iOSer

ios 性能优化 性能分析

从CPU到XPU进化,英特尔对业界放了什么大招?

E科讯

智能量化对冲搬砖套利交易软件APP系统开发

系统开发

一文解析DDD中台和微服务设计

欧创新

中台 微服务 领域驱动设计 DDD

一文带你探究Sentinel的独特初始化

华为云开发者联盟

redis sentinel 框架

“反垄断”来袭,对产业区块链有什么启发

CECBC

市场垄断

区块链科普系列:区块链是什么?

CECBC

区块链

不同公司产品经理岗位对比

LouisN

「产品经理训练营」第一章作业

Sòrγy_じò ぴé

产品经理训练营

Soul 网关源码阅读(一) 概览

Java 源码阅读 网关

面试阿里Java岗,技术总监真正关心的核心能力是什么?

Java架构追梦

Java 编程 架构

解读容器的 2020:寻找云原生的下一站

阿里巴巴云原生

Docker 云计算 Serverless 容器 云原生

生产者与消费者模式,数组阻塞队列(ArrayBlockingQueue)

李尚智

Java 学习 架构 并发编程

DevSecOps安全检查清单

啸天

安全 DevSecOps 应用安全

Volcano架构设计与原理介绍

华为云原生团队

大数据 AI 云原生 高性能 批量计算

区块链十年与传统金融的变化

CECBC

区块链 金融

架构师训练营W13作业

Geek_f06ede

为什么我认为 Deno 是一个迈向错误方向的 JavaScript 运行时?

hylerrix

typescript rust nodejs deno V8

用AI「驯服」人类幼崽,手头有娃的可以试试

博文视点Broadview

人工智能 联邦学习 强化学习 集成学习 技术宅

敏捷里为何倡导固定迭代周期?

万事ONES

敏捷开发 研发管理 迭代

Soul 网关源码阅读(四)Dubbo请求概览

Java 源码阅读 网关

特斯拉自建ERP的背后

明道云

矿机挖矿APP系统模式开发平台

v16629866266

Soul 网关源码阅读(二)代码初步运行

Java 源码阅读 网关

Soul 网关源码阅读(三)请求处理概览

Java 源码阅读 网关

Java 程序经验小结:剖析@SuppressWarinings注解

后台技术汇

28天写作

在数据分析、挖掘方面,有哪些ETL工具值得推荐?

敏捷调度TASKCTL

大数据 kettle 海豚调度 批量任务 ETL

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