完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
有一个概念性的问题:用队列读取数据和处理。入队列与出队列是不同的两个循环。每循环一次从出队列去一个数据处理。如果出队列的循环快于入队列的循环,必然导致队列缓存读空。我现在就遇到这种问题,从出队列读到的数据序列,前半部分有数据,后半部分都是0了!请问怎样同步缓存的写入与读出?先谢谢!
|
|
相关推荐
11个回答
|
|
应该是处理方式问题,有入才出,无入就等待状态或者超时,当没有超时,说明接收到的是有效数据,可以进行处理。生产者消费者的例子,只有生产出来才可以消费,而不是无用的消费。
最佳答案
|
|
|
|
出队列不要设置超时
|
|
|
|
出队列循环一般跟入队列循环定时一样吧,不然数据的采样时间可能对不上。如果消费者循环定时快于生产者循环,试试使用局部变量在两个循环之间传递数据,当生产者循环没有生产出数据时,消费者会持续使用上一个生产者循环的数据。
|
|
1 条评论
|
|
队列本身就有一定的控制程序执行速度的能力
|
|
|
|
入队列1000毫秒,出队列10ms。相差100倍。但是出队列循环的执行速度依旧是1000ms。见labview范例,自己改一下出入队列时间就行
|
|
|
|
队列,理论上是不会丢失数据的,可以看一下入队列的元素是不是你想要的
|
|
|
|
并且,队列本身就是在“同步”的函数选版里
|
|
|
|
程序问题 ,建议上框图.
|
|
|
|
建议你用数据引用,那么你读的数据就是你最新更新的数据
|
|
|
|
|
|
|
|
队列本身就是同步的,空的时候不执行就好
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
452 浏览 1 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
915 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1496 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1428 浏览 3 评论
1707 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:32 , Processed in 0.845724 second(s), Total 109, Slave 86 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号