发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名

[经验] 多线程退出机制初探

2020-2-13 20:13:41  383 labview
分享
2
学习体会,不足之处请大佬们多指正。

图中是labview提供的队列例子。
微信图片_20200213194846.png
前两个循环为入队列操作,第三个循环为出队列操作。
1、当点击“退出”时,首先满足第三个循环的退出条件;
2、第三个循环退出,执行后面的释放队列,这时队列已经被释放了;
3、前面两个循环还在继续运行;
4、但是运行到循环内部的写操作时,就会出现错误(向已经释放了的队列写数据当然会出错啊),这时,写队列函数将错误输出到前两个循环的截止条件,使得前两个循环也结束了。从而达到按“退出”键的目的。

为了加深理解,可以做另一个测试
微信图片_20200213200033.png
将其中一个循环的内部延时加长,如20秒。
点击“退出”后,接收数据的循环立刻停止,这在前面板上也很容易观察出来,但是程序并没有立刻退出,要等到20秒(其实不一定是20秒,这取决于队列释放时,延时循环模块该次延时已经进行到多久了)以后。


微信图片_20200213200730.png
王栋春 2020-2-13 21:51:54
学习了解一下  
回复

举报

acquire 2020-2-14 15:36:11
学习顺便膜拜大神
回复

举报

评论

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

发经验
关闭

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

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