/// <summary> /// 立即结束本次调用 /// </summary> /// <param name="svm">要作用的调用堆栈</param> public void ExitCall(StackMachine svm) { // 弹调用堆栈 var consumed = svm.Consume(); // 弹出的是主堆栈上的场景 if (svm == this.CallStack && consumed.State == StackMachineState.Interpreting) { // 恢复到上一个并行栈帧的状态 this.BackTraceParallel(); // 关闭当前的信号量订阅者 SemaphoreDispatcher.UnregisterSemaphoreService(); } }