labview的多线程语言
以前只会照猫画虎的写一些简单的程序,一些基本原理不是很清晰。从网上找了一些资料,这里总结一下。
1。一般情况下,运行一个 VI,至少有两个线程:一个界面线程(UI Thread),用于处理界面刷新,用户的操作等;还有一个执行线程,后台工作。
2。LabVIEW 是自动多线程的编程语言,只要 VI 的代码可以并行执行,LabVIEW 就会将它们分配在多个执行线程内同时运行。
3。编写程序时可以同时运行的模块应该并行排序,这些模块之间不要用连线,顺序框等方式强制它们按照顺序执行。LabVIEW 会自动地在不同线程下同时运行。
4。假如有一个或多个线程占用了过多 的CPU时间,此时系统对其他线程就会反应迟钝。例如,程序的后台工作线程占用了100% 的 CPU时间,用户对界面的操作就会迟迟得不到响应,常常会被误认为程序死掉了。在循环内加一个延时可以解决此问题。