前页 后页

多线程-分叉和联接

模型模拟器提供了使用Fork和Join节点处理多线程模拟的功能。

  • 在该示例中,当前执行点分叉成两个线程,每个线程都有自己的活动节点
  • 随着此示例的进行,下级分支将在Join节点上等待,直到上级分支完成其所有操作为止
  • 一旦两个线程合并为一个,仿真将作为一个线程继续进行,直到完成
  • 自动步进时,将看到每个线程在一个模拟“周期”内执行单个步骤-尽管在单步执行或在断点时,行为是随着每个线程接收处理时间而在线程之间交替执行
  • 注意,在示例中,“调用堆栈”窗口将显示两个活动线程和一个“已暂停”线程;一旦线程合并,将返回到单线程执行
  • 还要注意,局部变量在所有线程之间共享(全局)。如果要在线程上模拟私有变量,则必须在每个线程的开头创建新的Simulation变量-将此类变量与现有的全局数据一起预加载

学到更多