知识卡片

结合规格处理复杂同步条件

普通读书笔记卡 · 1950.j

内容

默认情况下,结合的规则很简单:所有输入流都到达时才释放输出令牌。但有些场景需要更复杂的同步逻辑,可以给结合附加一个结合规格(join specification)——一个布尔表达式,每次有令牌到达结合就重新计算,算出为真才释放输出令牌。经典例子是自动售货机:不管顾客先选饮料还是先投币,机器每次收到动作都重新检查结合规格,只有累计投入的金额够了才会出货,而非简单等待两条流各出现一次。

参考来源

- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第11章《活动图》(源文件:_epub-src/EPUB/10.xhtml) - 结论依据:原文定义"结合规格(join specification)是一个附加到结合上的布尔表达式。每一次一个令牌到达该结合时,结合规格被计算,如果为真,就释放出一个输出令牌……无论我何时选择饮料或者投入硬币,机器都会计算结合规格。仅当我放进足够的钱时,机器才会解我的渴"。 - 原始内容:结合规格(join specification)是一个附加到结合上的布尔表达式。每一次一个令牌到达该结合时,结合规格被计算,如果为真,就释放出一个输出令牌……无论我何时选择饮料或者投入硬币,机器都会计算结合规格。仅当我放进足够的钱时,机器才会解我的渴。