重分求解,UNIX下的消息队列非常失败,经常发生堵塞现象,现改用FIFO,但FIFO又得自己设计消息,请高手指点

xiyupiaopiao 2007-12-10 07:00:02
怎么设计自己的消息,消息要变长的?接收方怎么取消息?变长的话怎么确定消息边界
...全文
156 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
潇洒哥爱coding 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wohow 的回复:]

Unix设计者周详考虑了计算机的使用和设计,所以确实被证明稳定可靠。它所依赖的C/C++的设计者只是设计了C的语法,要求程序员确保程序的正确性和健壮性。而很多“高级”C程序员忽略了这一点,当程序出错时首先想到的是别人有什么问题而不考虑自己的问题。
Windows的设计者过多的考虑了使用者的感受,所以一出世就风靡全球,但是它把世人都当作傻瓜的做法早已为很多人所不耻。如果不是因为目前的生计,我早就……
[/Quote]
如果你那么说 那你学C干嘛?C不是让人像傻瓜一样,有本事你去使用机器码啊~ 你牛的话你也搞个windows啊,windows是革命,如果想使用计算机的人都学去UNIX,那计算机能如果迅速的普及吗,搞得自己多牛似地。不齿?
ckc 2007-12-11
  • 打赏
  • 举报
回复
以pid做消息类型当然有这样的问题
你可以指定一个特定的值做消息的key啊
至于消息是在内核中那也很正常,消息本来就是设计用来在不同的进程中交换信息用的
进程关了还保存消息是很正常的
消息队列创建者和root都可以删除。

unix的体系结构运转了这么多年,支撑了无数被实践证明很稳定可靠的软件。
反观微软,自己的软件在一起都无法做到稳定可靠。
如果你觉得微软考虑的更全面,那只能说明你还需要继续努力学习啊
cceczjxy 2007-12-11
  • 打赏
  • 举报
回复
尽信书则不如无书,消息队列确实有很多不足,如不能查询等,消息堵里面也无法回收
======
怎么叫做不能查询啊?可以顶开m个消息队列,每个消息队列可以有n种消息,选择需要处理的类型就可以。
消息堵了?如果是处理不过来,可以增加CPU和内存,可以调整内核参数啊;如果是程序错误,就改程序吧。



--------------------------------------------------------
赞成.带着怀疑的态度学习是好事,但不要轻易下结论.
xiyupiaopiao 2007-12-11
  • 打赏
  • 举报
回复
我以PID做为消息类型,如果这个进程突然死掉了,而里面存在它没收的消息,这个消息就驻留在消息队列中,请问这个问题怎么解决,还有消息队列是内核持续性,进程都关了,消息队列内容还保存,这咋设计的,类似的还有共享内存等,还是windows考虑的全面
mymtom 2007-12-11
  • 打赏
  • 举报
回复
尽信书则不如无书,消息队列确实有很多不足,如不能查询等,消息堵里面也无法回收
======
怎么叫做不能查询啊?可以顶开m个消息队列,每个消息队列可以有n种消息,选择需要处理的类型就可以。
消息堵了?如果是处理不过来,可以增加CPU和内存,可以调整内核参数啊;如果是程序错误,就改程序吧。
wohow 2007-12-11
  • 打赏
  • 举报
回复
Unix设计者周详考虑了计算机的使用和设计,所以确实被证明稳定可靠。它所依赖的C/C++的设计者只是设计了C的语法,要求程序员确保程序的正确性和健壮性。而很多“高级”C程序员忽略了这一点,当程序出错时首先想到的是别人有什么问题而不考虑自己的问题。
Windows的设计者过多的考虑了使用者的感受,所以一出世就风靡全球,但是它把世人都当作傻瓜的做法早已为很多人所不耻。如果不是因为目前的生计,我早就退出Windows了
xiyupiaopiao 2007-12-11
  • 打赏
  • 举报
回复
如你所说,如果要实现进程间通信类,能实现任意两个进程相互通信,消息类型以怎么来定义呢?
lauxp 2007-12-10
  • 打赏
  • 举报
回复
message queue是定长的吧

为什么堵塞?处理不过来?
xiyupiaopiao 2007-12-10
  • 打赏
  • 举报
回复
尽信书则不如无书,消息队列确实有很多不足,如不能查询等,消息堵里面也无法回收
NC 2007-12-10
  • 打赏
  • 举报
回复
消息队列堵塞,多半是应用程序逻辑有问题。在UNIX上出现N多年的东西,是值得信赖的。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧