社区
VxWorks
帖子详情
请教:使用消息队列是不是不宜直接传输大量的数据?
area88
2011-02-14 08:46:33
请教:使用消息队列是不是不宜直接传输大量的数据?只用来传数据缓存地址
...全文
1221
12
打赏
收藏
请教:使用消息队列是不是不宜直接传输大量的数据?
请教:使用消息队列是不是不宜直接传输大量的数据?只用来传数据缓存地址
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
夫人的泡泡鱼
2011-12-25
打赏
举报
回复
我就用的消息队列,传递数组名和长度
hunterzone
2011-12-23
打赏
举报
回复
wparam和lparam可以传送指针。。。
呆萌-鱼
2011-09-25
打赏
举报
回复
另外, 消息队列满的时候, 操作系统是将其丢弃的, 如果你的数据属于不能够丢弃的消息 就需要自己实现缓冲
呆萌-鱼
2011-09-25
打赏
举报
回复
1.从性能方面来讲, 确实采用传地址的方式要好一些, 但是出于安全性考虑, 采用传索引的方式更好, 即数据缓冲区由自己进行管理, 通过传递索引的方式来提高安全性。
2.消息队列也可以用于大量数据的传输, 比如说系统间的调试输出消息, 打印消息等。
countrysoft
2011-09-25
打赏
举报
回复
那要看楼主说的“不宜”怎么理解?
1、一般来讲,从E2E来看,如果传地址确实能够减少拷贝次数,并且访问消息数据时不需要互斥保护,肯定性能好一些,也节约内存;
2、传地址还有一个解耦的好处,就是消息最大长度和消息队列的参数是解耦的;
3、如果想传递实际的内容,消息最大长度又确定不下来,那就使用stream型的通讯方式,比如FIFO、管道、TCP等,但接收方消息定界会复杂一些。
topcool99
2011-09-13
打赏
举报
回复
最佳方式:
消息结构+指针
hongkiaong
2011-08-26
打赏
举报
回复
vxworks的消息队列采用的是数据拷贝操作,如果直接将数据拷贝到队列,会非常浪费内存,因为队列在初始化的时候需要明确单个消息的最大size,以及消息队列的长度,这样,在初始化时消息队列申请的内存=最大size ×队列长度
第二个原因:大量数据的拷贝,效率上相对较低
综合以上原因,最好是消息队列只传递地址、长度、类型,设计合理的话,值传递一个地址即可
bflyswhbflyswh
2011-08-17
打赏
举报
回复
既然叫消息,使用上当然是只传递必要的地址和长度等信息就好了,其他的还是自己来,尽量减少内存拷贝,例如循环队列缓冲等。
异乡客
2011-08-14
打赏
举报
回复
要想效率高,还是传地址。
frank_zhou
2011-04-29
打赏
举报
回复
没有问题的,只要系统内存够,多大都没有问题。
使用消息队列的好处是系统帮你做了同步和互斥了,可以很方便地实现队列方式。在数据量不是太大的时候完全没有问题的,相当于是内存拷贝,速度也足够快。
关键是从系统考虑的话,一般尽量减少无谓的拷贝,一般应用的时候,如果是大数据量的话没有必要直接数据传递,传个指针就好了啊,另外用sem进行同步即可。
tristan1
2011-02-24
打赏
举报
回复
确实是这样的,我们通常使用的策略是发生一个很小的数据,另外一边的接受函数(死循环任务)一直在检查消息队列,当有消息,马上调用 收包函数(里面会去读buffer)。
聊聊
数据
库~5.SQL运维上篇
PS:再说明下CentOS优化策略这部分的内容来源:首先这块逆天不是很擅长,所以主要是参考网上的DBA文章,之后
请教
了下运维相关的朋友,大家辩证看就行了,我只能保证90%的准确度(具体看业务) 1.6.1.概念 1.RAID系 ...
计算机网络概述
1-17 】收发两端之间的
传输
距离为 1000km, 信号在媒体上的传播速率为 X 108 m/s试计算以下两种情况的发送时延和传播时延:(1)
数据
长度为 107 加,
数据
发送速率为 100 kbit/s(2)
数据
长度为 103 加,
数据
发送速率为...
字节跳动资深面试官亲述:面试应该注意哪些问题?
面试官的根本目的在于考察你这个人是否与招聘岗位相匹配,衡量能否胜任工作,我们在面试中要做到的就是让面试官相信我们能够与应聘岗位相匹配。 针对一些面试题做了总结: 1.请简单进行一下自我介绍 首先请报出自己...
字节跳动面试官亲述:Android开发学会了这些技术,你离大厂不远了
我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶...
数据
结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计...
2020Android面试心得:斩获3个大厂offer后,大厂常考知识点 & 面试技巧出炉,等你来拿!
历时一个半月,斩获3个大厂offer(京东、新浪、滴滴),这里进行下简单的总结,希望能帮助到大家。 总体来说,面试一般都是基于你的简历来进行的,一般先...复习周期个人建议是三个月到半年,时间
不宜
太久,久了就容..
VxWorks
2,179
社区成员
2,916
社区内容
发帖
与我相关
我的任务
VxWorks
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
复制链接
扫一扫
分享
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章