用于异步事件驱动的 P 语言 P Language
2024-08-26 15:18:39
微软最近开源了P语言,致力于在Linux、macOS和Windows上编写安全的异步事件驱动程序。
微软将P描述为一种领域特定语言,对异步系统的组件间通信进行建模,例如嵌入式、网络或分布式系统。P程序是通过有限状态机(finite state machine)来定义的,这些状态机会并发运行。每个状态机都有一个输入队列、状态、转换、机器本地存储,并且可以发送异步信息给其他状态机。在P中的基本操作要么是更新本地存储,发送消息,要么就是创建新的状态机。如下的代码片段展示了如何使用P来描述一个状态及其转换。除此之外,它还展现了如何发送消息或创建新的状态机:
...
start state Init {
entry {
server = new Server();
raise SUCCESS;
} on SUCCESS goto SendPing;
state SendPing {
entry {
send server, PING, this;
raise SUCCESS;
}
on SUCCESS goto WaitPong;
}
...
最新文章
- OC-id、构造方法
- Oracle 管道化表函数
- Jquery和JS获取ul中li标签
- 请不要做浮躁的IT人
- a链接onclick=";window.location.href=在ie6上面无法执行解决
- python实现web分页日志查看
- spring exception
- Python绘图与可视化
- go 语言图片像素点处理
- Unity3D编辑器扩展(四)——扩展自己的组件
- shell 关于字符切割 cut
- 作业20171102 alpha-review 成绩
- 打包egg
- Windows:C++11并发编程-条件变量(condition_variable)详解
- android 相机拍照后选择照片编辑,相片编辑界面直线形状会显示锯齿状
- 洛谷P1943 LocalMaxima_NOI导刊2009提高(1)(分段打表)
- 符号三角形_hdu_2510(深搜).java
- 009——数组(九) each list array_map array_walk array_walk_recursive
- ubuntu中下载sublime相关问题
- 图解SynchronousQueue原理详解-非公平模式
热门文章
- Go资源被墙最快解决方案
- Vue零碎总结
- [Oracle] - 使用32位 PLSQL(PL/SQL Developer)登陆64位Oracle失败之解决
- leetcode 2019.10.29 首次破百
- python实战项目 — 爬取中国票房网年度电影信息并保存在csv
- Android--Fragment嵌套的问题
- 解决git下载很慢的问题
- 立体像对空间前方交会-共线方程求解法(python实现)
- Map、FlatMap 和 Reduce
- [The 2019 Asia Yinchuan First Round Online Programming] D Take Your Seat