jag*_*esh 8 linux posix sysv
是否有任何方式使得编写mq_send()器进程在使用消息队列发送消息之后,多个读取器进程可以使用读取消息mq_receive().我希望1写入mq和1读取mq,消息丢失.
mq_send()
mq_receive()
mq
所以我只想知道我的理解是否错误.有没有办法使单个编写器和多个读取器进程可以使用posix消息队列进行通信.
Duc*_*uck 9
是的,你的理解是正确的.使用POSIX消息队列无法可靠地执行此操作.如果要将相同的消息可靠地传递给不同的线程/进程,则应为每个读取器使用不同的队列.
如果切换到SYSV消息队列,则可以执行此操作. Msgsnd()和msgrcv()可以在某些商定的协议中操纵消息的消息类型字段.例如,编写器进程将使消息的消息类型成为读取器进程的PID; 并且阅读器进程将请求只读取该消息类型的消息.请注意,这仍然需要编写器为每个读取器进程编写消息.
归档时间:
13 年,8 月 前
查看次数:
5087 次
最近记录:
9 年,8 月 前