多进程同时从消息队列取消息的问题
来源:互联网 发布:数据迁移方案101data 编辑:程序博客网 时间:2024/05/21 06:53
我现在有一个程序,是做成了多进程同时从一个消息队列中取消息,都以阻塞的方式,从消息队列中顺序取消息,但是多进程同时取的时候我没有加锁,不知道这样会不会出现什么问题?操作系统应该对进程有个排队的操作吧?
不会有什么问题,OS保证操作的原子性,即不可能出现一条消息被几个进程各收取一部分的情况。但具体是哪个进程收到消息则是随机的。
不会有什么问题,OS保证操作的原子性,即不可能出现一条消息被几个进程各收取一部分的情况。但具体是哪个进程收到消息则是随机的。
我在写一个程序,父进程负责循环从消息队列中读取消息,如果有消息则生成子进程处理消息并将处理结果写入另一消息队列,而主进程继续读取消息,这样有很多消息时就会并发出很多子进程处理消息并写入同一消息队队列,我想问一下
在多个子进程同时向一个消息队列写时要不要进行互斥操作?请有经验的高手不吝赐教,非常感谢!
在多个子进程同时向一个消息队列写时要不要进行互斥操作?请有经验的高手不吝赐教,非常感谢!
消息队列是个队列,送进去的消息会排队,所以不会有“同一个消息”的情况
读操作是根据mtype来区分不同的消息的,当某个消息写入后,如果读进程退出了,这个消息会堵在消息队列里,多了就会造成消息队列堵塞,任何进程写消息队列都会失败,造成系统的不可用,这时要注意读、写进程的配合,这也是用消息队列最不爽的地方!
还有,好象消息队列不支持peek的方法?
读操作是根据mtype来区分不同的消息的,当某个消息写入后,如果读进程退出了,这个消息会堵在消息队列里,多了就会造成消息队列堵塞,任何进程写消息队列都会失败,造成系统的不可用,这时要注意读、写进程的配合,这也是用消息队列最不爽的地方!
还有,好象消息队列不支持peek的方法?
我以前做过这样一个程序,因为要写到一个文件中的不同段中,所以用了这种方式,要注意的一点就是程序异常退出之后需要对该队列做相应处理。
请教多进程写消息队列问题消息队列不必互斥。
- 多进程同时从消息队列取消息的问题
- 多进程消息队列
- 多进程--消息队列--聊天工具
- 进程和消息队列
- 进程和消息队列
- 进程通信消息队列
- [进程通信] 消息队列
- 进程通信--消息队列
- 进程通信-----消息队列
- 进程通信--消息队列
- 进程管理--消息队列
- 进程IPC---消息队列
- 消息队列实现从一个进程向另一个进程发送一个数据块的方法
- Windows消息队列:消息队列管理问题的疑难解答
- Linux消息队列进程通信的介绍
- 进程间的通信之消息队列
- Linux消息队列进程通信的介绍
- 进程间的通信-消息队列
- PPT到Word的文档转换(未果)
- Windows服务操作
- Getting Real
- 学好C++该看什么书呢?
- TCC8900(七) 添加微软雅黑字体
- 多进程同时从消息队列取消息的问题
- Emacs编辑命令速查表1【摘自Learning Gnu Emacs】
- mark2
- android ndk 之Android.mk编写
- Master Page中第二页无法显示
- ListView与CheckBox,EditText,Button结合
- 《ln命令》-linux命令五分钟系列之十八
- java 删除文件和删除文件夹下面的文件
- 典型的SPI控制器的结构