在统一建模语言活动图中,Join和Merge有什么区别?请举一个例子更好地理解。
连接节点(见参考1):
连接节点是一个控制节点,具有多个输入边和一个输出边,并用于同步输入并发流。连接节点被引入以支持活动中的并行性。
合并节点(见参考2):
合并节点是一个控制节点,将多个备选流程汇集成单个输出流程。没有令牌的合并。不应使用合并来同步并发流程。
例如在下面的图表中:
在分叉之后使用一个决策,这两个流程需要在进入连接之前合并为一个流程。
为什么?:否则,连接将等待两个流程。
所以,Activity 2
和 Activity 3
是我们的备选流程,只有其中之一会到达。它们不是同步进入的。
然而,Concurrent_Activity
和 Activity 1
和 Activity 2
之间的决策结果(合并为一个输出)是同步进入的并发流程。连接等待两个流程执行并继续。