并行状态中包含的状态并行执行,与一般的状态不同,并行状态处于活动时,所有的子状态都是活动状态。也就是说,当状态机进入一个并行状态,也就进入了它所包含的每个子状态。这些子状态是平行的,每个子状态独立响应事件。当所有的子状态到达结束状态(finial state),并行状态也就被认为结束了,这时会产生名称为done.state.id的事件,这里id是并行状态的id。
子状态中的转移与一般状态中没有区别,只是如果转移到并行状态外的其它状态,并行状态和所有子状态都会退出,相关的onexit活动会被执行。首先是子状态的onexit被执行,然后是并行状态的onexit执行。
网友评论