首页 理论教育 并发状态和同步杆的作用-软件系统分析

并发状态和同步杆的作用-软件系统分析

时间:2023-10-16 理论教育 版权反馈
【摘要】:同步并发转移用一个短而粗的线条表示,称为同步杆,可以从一个或多个状态用带实心箭头的实线指向它,也可以从它用一个或多个带实心箭头的实线指向其他状态。因此,同步杆实际上在并发活动中起同步的作用。同步杆旁边有条件“合同生效”,表示在条件为真时,该并发分劈转移发生。在图中右边也有一个同步杆,它有两个并发源状态“产品检查”和“付款检查”,一个目标状态“发货”。

并发状态和同步杆的作用-软件系统分析

一个状态也可以有多个并发的子状态。并发子状态之间用虚线分隔,它们可被任意命名,并分别有一个内部的状态图

案例学习

◎图6-20是一个描述按销售合同生产和销售产品的并发子状态图。

图6-20 一个按销售合同生产和销售产品的并发子状态图

在按销售合同生产和销售产品的企业中,有两个过程是并发执行的:一个过程是检查仓库是否有合同要求的产品,另一个过程是检查客户是否已付款。只有两个检查都成功,才能发货。在第一个过程中,首先检查合同,如果仓库中有合同所要求的货物和相应的数量,则备齐产品,等待发货;如果仓库中没有合同所要求的货物或相应的数量,则等待一段时间,组织安排生产,生产完毕将产品入库,等待发货。在另一个过程中,首先检查付款单,如果客户按合同约定汇来货款,可以发货;如果超过合同期限没有汇款,应向客户发催款通知,且不发货。(www.xing528.com)

可以用复合转移的同步并发转移来表示并发子状态。一个同步并发转移可以有多个源状态或目标状态,它们可以把一个控制分解为并行运行的并发线程,或将多个并发线程合并成单个线程。同步并发转移用一个短而粗的线条表示,称为同步杆,可以从一个或多个状态(称为源状态)用带实心箭头的实线指向它,也可以从它用一个或多个带实心箭头的实线指向其他状态(称为目标状态)。转移的条件可写在同步杆旁边。只有当对象处于所有的源状态中并且转移的条件为真时,转移才被触发,这意味着并发执行的开始或结束。因此,同步杆实际上在并发活动中起同步的作用。

案例学习

◎图6-21是采用并发同步转移描述按销售合同生产和销售产品的并发子状态图。在图中左边的同步杆的两侧,一个源状态“签订销售合同”被分劈为两个并发目标状态:“产品检查”和“付款检查”。同步杆旁边有条件“合同生效”,表示在条件为真时,该并发分劈转移发生。在图中右边也有一个同步杆,它有两个并发源状态“产品检查”和“付款检查”,一个目标状态“发货”。同步杆旁边标有条件“有库存并且已付款”,表示条件为真时,该并发接合转移发生。

图6-21 采用同步并发转移描述的并发子状态图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈