首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类CSP同步

类CSP同步
EN

Stack Overflow用户
提问于 2019-05-28 21:13:00
回答 1查看 57关注 0票数 0

我正在尝试使用类似于CSP的同步机制,但我不明白为什么以下模型的初始状态是死锁:

代码语言:javascript
复制
const int N = 2;
chan a;

process Processes(int [1,N] pid) {
    state A, B;
    init A;
    trans A -> B { sync a; };
}

system Processes;

在我看来,这两个进程是在通道'a‘上同步的,应该至少走一步,不是吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-07 21:46:04

系统声明需要包含IO声明:

代码语言:javascript
复制
P1=Processes(1);
P2=Processes(2);

system P1, P2;

IO P1 {a}
IO P2 {a}

不幸的是,IO声明不理解模板参数,因此我使用了带有具体名称的完整实例化。

还有“适度”选项来启用不同的更新语义,例如:

x=y+z

使用yz的旧值(同步前),以防同时修改yz

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56343086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档