RendezvousVIs(汇合点 VI)用于同步并行代码执行起始,通过创建、等待、销毁汇合点,协调多循环等并行代码同步启动与执行流程,保障协同逻辑。
VI 说明
1. Create Rendezvous VI
功能:创建汇合点引用,指定 “size(大小)”,如示例中 size=2,定义需同步的并行执行单元数量。
使用场合:多并行循环(如 Loop1、Loop2 )需协同启动场景,为同步逻辑提供基础引用。
特点:通过 size 控制同步参与方数量,精准定义并行同步规模;生成的引用是后续同步交互核心载体。
注意事项:需合理规划 size,与实际并行单元数量匹配;创建后需妥善管理引用,避免意外释放。
对比类似功能:比简单全局变量控制同步更精准,全局变量难严格按数量、时序同步;它通过专用引用机制,聚焦并行启动同步,功能更聚焦、可控。
2. Wait at Rendezvous VI
功能:使调用的执行单元(如循环)等待,直到对应汇合点下,所有需同步的执行单元都调用该 VI,达成 “齐步走” 后共同继续执行。
使用场合:并行循环每次迭代启动前,需同步开始执行的环节,保障循环内代码执行时序一致。
特点:基于汇合点引用,严格按创建时 size 等待,确保多单元同步;嵌入循环等执行流,灵活控制同步时机。
注意事项:需确保各并行单元调用该 VI 逻辑一致,避免因分支遗漏等破坏同步;与 Create 配合,引用失效(如被销毁)会触发错误,需做好错误处理。
对比类似功能:不同于延时函数(如 Wait VI 固定延时),它是动态等待同步,适配并行单元执行时长差异,精准对齐启动;比自定义标志位轮询更高效,无需高频查询,减少资源消耗。
3. Destroy Rendezvous VI
功能:销毁汇合点引用,使关联的并行执行单元后续调用 Wait 时触发错误,终止循环等执行,用于程序结束或同步逻辑终止场景。
使用场合:程序停止(如示例中 Stop 按钮触发)时,清理同步资源,终止并行循环同步逻辑。
特点:主动失效汇合点引用,强制结束同步机制;配合事件(如按钮事件),实现流程可控终止。
注意事项:销毁时机需与程序终止逻辑匹配,避免提前销毁导致正常同步流程报错;销毁后,若并行单元仍有 Wait 调用,需做好错误捕获处理。
对比类似功能:相比让并行循环自然结束(依赖内部条件判断),它能强制、快速终止同步关联的循环,更适配紧急停止、资源清理场景;比单纯关闭 VI 更精细,聚焦同步资源销毁,保障程序资源规范释放。
背景补充
在LabVIEW 并行程序设计中,多循环、多任务并行执行时,若需严格同步启动(如多通道数据采集、多模块协同控制),Rendezvous VIs 是轻量且直接的方案。复杂大型项目(如涉及多进程、分布式系统),可能需更复杂同步(如 Queued Message Handler 结合),但基础场景下,RendezvousVIs 以简洁机制,解决并行启动同步核心问题,是工程师快速实现并行协同的实用工具。