hblak7887 发表于 2008-11-17 16:43:47

labview中同一VI子的并行问题

如果在同一顺序环境下,同时调用一个子VI,两个子VI输入参数不同,LABview会自动随机调用一个VI,等它结束完毕后,再调用另一VI,由于程序运行的很快,看起来就像并行的一样。
         但是,如果这个子VI的运行时间很长,或者它要通过某种条件才能停止。程序就会出现停滞,更严重的的就是假死。原因就是labview要等待那个正在运行的VI结束后才能再运行。
         我现在的解决办法就是复制N个副本,调用功能一样,输入参数不同。但是,子程序副本少了没事,要是又100;10000呢,我就要老是拷贝,复制了。就算我有特别好的耐心,完成了。但是,当客户需求改变,我要做个小小的改动,完了,要改10000次allqq-mogudiandian-30all ,还要保证不改错,要是一个不小心,就会出来稀奇古怪的错误。感觉这样程序的复用性就太差了。
      我也试过用”VI Refnum“的方法,动态调用VI。但还是不行。
      不知道谁有没有解决的办法。

chuannana 发表于 2008-11-17 17:01:52

多线程介绍中, 有个 reentrant execution 。
把你的变量设置成输入控件。如果太多的话,就簇
页: [1]
查看完整版本: labview中同一VI子的并行问题