免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1898 | 回复: 12
打印 上一主题 下一主题

IPC--队列问题,急!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-02-06 14:24 |只看该作者 |倒序浏览
我的程序中有一段用到一个接收队列.每次都用一个单独的子进程来等待对应它自己的MTYPE类型的返回消息,但有个问题是我的子进程因为超时而退出了,但在此之后消息被放入了队列中.所以每运行一段时间后队列中就有一些消息是永远无法取出的.用什么办法来处理呢?

论坛徽章:
0
2 [报告]
发表于 2004-02-06 16:12 |只看该作者

IPC--队列问题,急!!!!

1。可以不要设置超时退出。
2。可以写个函数对消息队列进行清空。
3。如果消息队列中的所有消息都有用可以,通过消息队列键值获得消息队列中的数据。

论坛徽章:
0
3 [报告]
发表于 2004-02-06 16:43 |只看该作者

IPC--队列问题,急!!!!

1.不设置超时应该不可以.如果处理机不给我返回消息(因为对方网络或别的原因)那么这个子进程将一直保持.等于是僵死进程.
2,可以写函数清空,我想用定时启动的办法来清空队列.
3,本来就是要按键值来取返回给自己的消息的.所以才会有一部分队列成员无法取出的问题.

论坛徽章:
0
4 [报告]
发表于 2004-02-06 16:56 |只看该作者

IPC--队列问题,急!!!!

如果你不限制MTYPE的类型,怎么会取不完呢???不可能无法取出,只有自己的程序没有实现,不可能无法取出的。我说的键值是区分消息队列的,不是区分消息的。

论坛徽章:
0
5 [报告]
发表于 2004-02-06 16:59 |只看该作者

IPC--队列问题,急!!!!

当然要限制MTYPE类型.否则怎么把返回的消息返回到特定的子进程呢.我可能会有几十个进程都在等它自己的返回消息,在同一队列中.

论坛徽章:
0
6 [报告]
发表于 2004-02-06 17:05 |只看该作者

IPC--队列问题,急!!!!

要看你的需求是什么样的,如果你不希望丢失数据我建议用不限时的阻塞模式。如果丢失少量数据没关系就定时清空就可以了。

论坛徽章:
0
7 [报告]
发表于 2004-02-06 17:08 |只看该作者

IPC--队列问题,急!!!!

超时不退出,但丢弃当前处理就是了。

论坛徽章:
0
8 [报告]
发表于 2004-02-06 17:31 |只看该作者

IPC--队列问题,急!!!!

[quote]原帖由 "FH"]超时不退出,但丢弃当前处理就是了。[/quote 发表:


那还不是就等于不要超时限制

论坛徽章:
0
9 [报告]
发表于 2004-02-06 17:36 |只看该作者

IPC--队列问题,急!!!!

不限时的阻塞,能限制不再被接收的消息进入队列?应该是不能实现吧.

论坛徽章:
0
10 [报告]
发表于 2004-02-06 17:39 |只看该作者

IPC--队列问题,急!!!!

楼上的兄弟,不要用反问还加否定嘛,头晕。
你的意思是,后面的消息都是不需要的了吗???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP