社区
Linux/Unix社区
帖子详情
unix下一个关于消息队列的问题
iceflowergg
2005-08-26 06:08:42
情况如下,原先使用越60个消息队列,系统正常。当增加到80多个的时候,系统运行一段时间以后,某一个特定消息队列收发失灵。我将收发消息队列的buf定义减小以后,情况有好转,但也仅是问题爆发的间隔时间变长了。系统已经设置过了消息队列的最大数为500了。当出现异常以后,我把相关的进程杀掉重启也无济于事,只能重新启动unix才算完。
请高手帮忙分析分析原因,谢谢。
...全文
124
3
打赏
收藏
unix下一个关于消息队列的问题
情况如下,原先使用越60个消息队列,系统正常。当增加到80多个的时候,系统运行一段时间以后,某一个特定消息队列收发失灵。我将收发消息队列的buf定义减小以后,情况有好转,但也仅是问题爆发的间隔时间变长了。系统已经设置过了消息队列的最大数为500了。当出现异常以后,我把相关的进程杀掉重启也无济于事,只能重新启动unix才算完。 请高手帮忙分析分析原因,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yjf7888
2005-08-27
打赏
举报
回复
偶没消息队列编程经验。
建议是:增加问题点数,吸引高手来回答
iceflowergg
2005-08-27
打赏
举报
回复
楼上的,针对我的情况,有什么建议呢?看了你的回贴,还是不太明白。
yjf7888
2005-08-26
打赏
举报
回复
刚刚在看消息队列的资料,说系统V消息队列是随内核持续的,只有在内核重起或者显示删除一个消息队列时,该消息队列才会真正被删除。
每个消息队列的容量(所能容纳的字节数)都有限制,该值因系统不同而不同。
另一个限制是每个消息队列所能容纳的最大消息数:在redhad 8.0中,该限制是受消息队列容量制约的:消息个数要小于消息队列的容量(字节数)。
UNIX
网络编程:
消息队列
IPC中除了管道PIPE、FIFO、信号量和共享内存区意外,还有
一个
很重要的形式——
消息队列
。
消息队列
相比共享内存来说,它本身带有同步机制。
消息队列
是将消息按队列的方式组织成的链表,每个消息都是其中的
一个
节点。
消息队列
的运行方式与命名管道非常相似。欲与其他进程通信的进程只要将消息发送到
消息队列
中,目的进程就从
消息队列
中读取需要的消息。需要注意的是,
消息队列
的长度以及每个消息的大小都是有
消息队列
(定义、结构、如何创建、
消息队列
的发送与接收、发送与接收实例)
一、定义 1、
消息队列
是一种先进先出的队列型数据结构,实际上是系统内核中的
一个
内部链表。消息被顺序插入队列中,其中发送进程将消息添加到队列末尾,接受进程从队列头读取消息。 2、多个进程可同时向
一个
消息队列
发送消息,也可以同时从
一个
消息队列
中接收消息。发送进程把消息发送到队列尾部,接受进程从
消息队列
头部读取消息,消息一旦被读出就从队列中删除。 二、结构 1、
消息队列
中消息本身由消息类型和消息数据组成,通常使用如下结构: struct msgbuf { long mtype; char mtext[
Linux下 C语言实现
消息队列
消息队列
,
Unix
的通信机制之一,可以理解为是
一个
存放消息(数据)容器。将消息写入
消息队列
,然后再从
消息队列
中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等
问题
,而且
消息队列
里的消息哪怕进程崩溃了也不会消失。 最简单的消息内存的使用流程 ①ftok函数生成键值 ②msgget函数创建
消息队列
③msgsnd函数往
消息队列
发送消息 ④msgrcv函数从
消息队列
读取消息 ⑤msgctl函数进行删除
消息队列
一个
消息数据应该由以下...
Linux
消息队列
编程(简单应用)
消息队列
,
Unix
的通信机制之一,可以理解为是
一个
存放消息(数据)容器。将消息写入
消息队列
,然后再从
消息队列
中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等
问题
,而且
消息队列
里的消息哪怕进程崩溃了也不会消失。 最简单的消息内存的使用流程 ①ftok函数生成键值 ②msgget函数创建
消息队列
③msgsnd函数往
消息队列
发送消息 ④...
posix
消息队列
和systemV
消息队列
一、概述:
消息队列
可认为是
一个
消息链表。有足够写权限的线程可往队列中放置消息,有足够读权限的 线程可从队列中取走消息。posix
消息队列
和systemV
消息队列
主要如下差异: 1、一般来说posix的接口要比systemV的简单,但是systemV的可已移植性更好几乎所有的
unix
系统都支持。 2、对posix
消息队列
的读总是返回最高优先级的最早消息,对systemV
消息队列
的读...
Linux/Unix社区
23,118
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章