当前位置: 技术问答>linux和unix
进程数据同步:消息队列还是共享内存+信号
来源: 互联网 发布时间:2016-08-29
本文导语: 在arm-Linux程序需要,进程1,以1s的时间间隔给,进程2发送数据. 那么使用那种方式更有效率: 1.消息队列 : 2.共享内存+信号 : 1s一包的数据,一个数据包大小约为70B. 有人对这方面有经验吗???? 消息队列使用方便,这...
在arm-Linux程序需要,进程1,以1s的时间间隔给,进程2发送数据.
那么使用那种方式更有效率:
1.消息队列 :
2.共享内存+信号 :
1s一包的数据,一个数据包大小约为70B.
有人对这方面有经验吗????
消息队列使用方便,这边发,那边收即可.
共享内存使用上为保证数据完整性,需要加上信号,所以代码估计要多点.
但这里我跟关注是那个效率高点.谁这两种都用过给点经验.谢谢.
那么使用那种方式更有效率:
1.消息队列 :
2.共享内存+信号 :
1s一包的数据,一个数据包大小约为70B.
有人对这方面有经验吗????
消息队列使用方便,这边发,那边收即可.
共享内存使用上为保证数据完整性,需要加上信号,所以代码估计要多点.
但这里我跟关注是那个效率高点.谁这两种都用过给点经验.谢谢.
|
我个人觉得共享内存的方法应该会快点
|
这两个就算有差别也是微秒级别的差别吧,觉得很难测试出来,进程间有数据通讯还是用socket或者消息队列吧,共享内存太容易出问题了。
|
对于大的数据量,差别就不仅仅是微秒级的了。
仅仅为了传递数据,不一定非得要加锁。程序可以使用无锁设计。
|
如果是小块数据,消息队列更快,比方说小于10k
如果是大块数据,动不动几兆,几十兆,共享内存吧。
如果是大块数据,动不动几兆,几十兆,共享内存吧。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。