发 帖  
原厂入驻New

[经验] 你要掌握的labview多线程

2016-3-14 11:20:58  70057 labview
分享
104
如果你还在为:
程序的异常中所影响,串口未能释放;
为程序的繁杂所困扰,while循环太多;
为人手充足却无法发挥所无奈,任务无法合理分配;
那么下面的内容一定要看哦。


首先我们来看下多线程
一般我们理解,在程序框图上每建立一个并行循环就是一个线程
这样理解不能说错误,但也不全面
因为假如你的主程序无故终止运行,你的一些操作就会出错,例如资源没有释放之类,造成的影响有大有小。
下面我们就来看下我要说明的那个到底是啥
我们先看文件夹多线程演示
在这里实现我们功能的是异步调用
如下图所示当布尔按钮按下时我们调用子VI
1.png
动态事件结构只是为了看下子程序的执行,如果不理解可以忽略
用其他例如:队列,全局变量这些东西代替下。
3.png
子函数只是个自加一的函数
为了观察清除我们把两个程序都打开
点击运行多线程详解,点击布尔,我们发现子VI跟着运行了。

然后我们点击多线程讲解的红色中断,会发现主程序中断了,但子程序还在执行。
这时候可以看到,其实子VI相当于开辟了一个独立的线程。
5.png
接下来我们看文件夹 多线程改
程序我改动了些
在子VI里面,我判断了主程序是否执行

如果未执行,则终止该循环
6.png
这时我们发现点击主程序的中断按钮,该子程序也停止了
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例子就举到这
下面我们总结下这个的用处
1.   人员可以合理分配
我们可以将串口,tcp,仪器控制,机器人控制,数据采集等等的东西变成一个单独的线程,他们可以自己编写自己的循环,而非中间单独的模块。这样分工明显,整合方便。
2.动态资源的管理。假设我们有3个串口,假如我们今天想加1个,明天又想加1个,甚至加N个。我们可以利用动态线程来处理硬件数据。假如有个数组非常大,我们也可以将其分割为N个,开放N个动态线程去并行处理
3.   防止软件异常
假如程序被异常结束,但我的资源未释放,尤其很多api调用的资源因为是用的句柄基本上很难释放。这时候我们可以利用子函数结束时,让他去处理资源的释放。因为它是后台的程序。
4.   简化程序的界面
不言而喻程序的界面被简化了,也更有条理了。
5.   软件架构设计
利用多线程,我们可以实现一些非常优秀的labview软件架构的实现。当然这要大家去发掘了。
5.程序开始时资源加载快
附件下载
游客,如果您要查看本帖隐藏内容请回复

xlp1227 2016-4-27 14:34:34
谢谢分享!!!!!!
回复

举报

weihk 2016-4-29 14:59:55
学习学习,多谢讲解
回复

举报

饥渴者 2016-4-29 17:28:32
学习一下,呵呵呵呵。
回复

举报

asdw12355 2016-4-30 20:17:05
游客,如果您要查看本帖隐藏内容请回复
回复

举报

Gmy1860 2016-4-30 20:20:20
学习学习                           
回复

举报

宇宙小鱼 2016-4-30 21:14:00
ad斯蒂芬森个事故双方都很大方时尚大方华东师范行业如何对付好
回复

举报

18062109450 2016-5-3 10:05:57
学习~~~~~~~~~~~~~~~~~~~~~~~
回复

举报

kehan2020 2016-5-4 13:29:27
erdtfyhgujfdasdfdghjhgfds
回复

举报

当时转身就走 2016-5-5 15:32:45
值得学习,谢谢分享
回复

举报

sjj1234 2016-5-5 16:38:04
太感谢了,谢谢  
回复

举报

xt9527514048 2016-5-5 17:13:13
哎呦 这个不错哦
回复

举报

chengguojun 2016-5-5 20:00:00

这个针的得看看啊。
回复

举报

皋兰土豆 2016-5-6 16:25:16
這個是乾貨,好好學習下
回复

举报

554020467 2016-5-7 07:10:32
下载看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复

举报

misterL 2016-5-7 13:56:48

好东西
看看学习一下!
回复

举报

dscoolboy 2016-5-7 16:12:44
非常不错,向楼主学习
回复

举报

天空上 2016-5-8 11:59:16
学习一下!                          
回复

举报

天空上 2016-5-8 13:09:45
必须要看看了            
回复

举报

denggang3000 2016-5-9 19:30:18
学习,学习,学习学习学习啦
回复

举报

tspp520 2016-5-11 15:03:44
谢谢楼主谢谢楼主谢谢楼主谢谢楼主谢谢楼主谢谢楼主谢谢楼主谢谢楼主谢谢楼主
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表