EA&UML日拱一卒-活动图:: 分叉和结合

网友投稿 689 2022-10-13

EA&UML日拱一卒-活动图:: 分叉和结合

EA&UML日拱一卒-活动图:: 分叉和结合

分支是一个输入令牌根据条件判断的结果转移到在几条可能的路径中的一条,而合并是几条可能的控制路径的汇合点,任何一条路径上出现令牌,则该令牌会转移到输出路径上。分支和合并都不会改变并发执行线程的数量。简单地讲,分支和合并提供的是选择控制路径的手段。

也存在另外一种情况,一个控制流会转换成两个或多个并发的控制流,这些并发的控制流在完成各自的任务后,又会结合成一个控制流。这就是UML中的分叉和结合。

语义

分叉(folk)节点是一个有一个输入,多个输出的节点,一个输入令牌被复制到每一个输出上。分叉会增加并发线程的数量。

结合(join)是活动图中的一个点,在这里有两个或多个并发线程合并为一个线程。当所有输入的令牌全都到达之后,这些令牌结合成一个令牌并转移到输出路径上。

表示法

分叉表示为有一个转入箭头,两个或多个转出箭头的粗线条;结合表示为多个转入箭头和一个转出箭头的粗线条。

画法

拖动工具栏中下列图标到活动图后,根据需要连接控制流即可。两个图标的区别只在于线条的方向不同。

示例

下面以复印机的动作为例说明分叉和结合的使用方法。

处理相对比较复杂,请耐心看完。

进入复印功能后首先执行准备处理PrepareCopyPrepareCopy执行以后分别启动UI和复印处理两个并发流程复印流程等待UI流程发送的开始命令。UI流程表示开始画面UI流程等待用户按下开始按钮用户按下开始按钮UI流程向复印流程发送开始命令UI流程等待复印流程发出的通知复印流程收到开始命令执行开始复印处理StartCopy开始复印处理结束后向UI流程发送复印已经开始通知UI流程表示复印执行中画面复印流程启动扫描流程和打印流程扫描和打印执行过程中向UI流程发出扫描和更新通知UI流程更新复印执行中画面扫描和打印流程都结束后结合为复印流程复印流程执行复印结束动作FinishCopy复印流程向UI流程发送复印结束通知。UI流程收到复印结束通知以后显示复印完了画面UI流程和复印流程结合全部处理结束

本流程的第2步,第12步为分叉节点;第15步,第19步为结合节点。本流程也可以按照UI流程和复印流程分别理解,这部分就留给读者吧。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Punny- PHP框架(punny什么意思)
下一篇:jMaki- AJAX框架(jmakitchen)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~