微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 请教,如何能最快速的在进程(vi)间通信?

请教,如何能最快速的在进程(vi)间通信?

时间:12-13 整理:3721RD 点击:
需要2个进程间有一定的同步,并且同步时候要传递参数。
目前想到的有2种方法,一种是用自定义event触发。
另外一种是用queue,在另外一个vi中设置等待循环。
这两种方法都是不占用额外的cpu查询,只有在条件出现的时候才触发vi动作的。
但是实际当中观察到用自定义event结构似乎延迟比较严重,特别是当程序运行一段时间。
event似乎平时处于休眠状态,唤醒过程有不少延迟(数百ms)
由于对LV的编译过程不太了解。是不是用户自定义event占用UI线程?不能单独使用一个线程?
如何能实现程序之间快速稳定的同步信息传送?同时,最好在没有同步需要的时候不占用cpu。谢谢!

首选Queue。
在确定不产生竞争冒险时用有限度的使用全局变量也可以。

如果参考windows的消息来看的话,显然消息响应出现延迟是很正常的一件事情。
Queue和Notifier都可以用在这个用途。

非常感谢!要求也不需要严格同步,只要在windows能处理的范围内尽量高点就行,10ms以下应该问题不大吧?
notifier每次只能保存一个事件,会比queue速度快点吗?
如果程序当中的消息比较多,是否可以设定优先级呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top