Suspending Methods【暂停方法队列说明】
1、暂停方法说明:
方法的执行可能因多种原因而中断。例如,一个方法可能会调用另一个方法,或者它可能会将 MU 移动到您为其编写了入口控制的对象上。方法的执行将被中断,直到入口控制方法执行完毕,一旦入口控制方法完成,将继续执行。
另一种可能性是有条件地暂停方法的执行。它停止执行,直到满足特定条件。然后可以独立于挂起的方法执行其他方法。一旦条件满足,就会中断所有Methods的执行,继续执行暂停的Method。
Waituntil-Statement 和 Stopuntil-Statement 允许您根据定义的条件暂停方法的执行。当此条件不成立时,解释器保存整个调用链,包括参数和局部变量,然后开始执行其他方法或继续模拟运行。一旦条件为真,解释器就开始执行挂起的方法。
让我们用一个例子来说明这一点:解释器执行方法 A 并遇到一条 waituntil 指令。条件不成立,因此解释器暂停方法 A。然后,它执行方法 B,该方法在执行期间更改模型,因此方法 A 的条件为真。这时解释器立即中断方法B,重新激活方法A并执行。然后,解释器继续执行方法 B。
当同时激活多个方法时,waituntil 和 stopuntil 语句的行为不同。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c3523d4dd0aa74d1d425206774831dec.png)