Posix消息队列 - 多作者和&多读者

时间:2011-10-21 20:04:39

标签: posix message-queue

我对队列(POSIX)感到困惑。 是否需要保护队列中的多个写入器或队列中的多个读取器?

多个线程将写入队列,多个线程将从队列中读取。

正如定义所说“消息队列可以有许多读者和许多作者”。但它并不是说它是否需要保护。 这两条消息应该受互斥锁保护吗?

mq_send(mqd_t mqdes,const char * msg_ptr,size_t msg_len,unsigned msg_prio); mq_receive(mqd_t mqdes,char * msg_ptr,size_t msg_len,unsigned * msg_prio);

请有人帮帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:9)

不,您不需要使用互斥锁等保护它们。内核负责处理它。

在线查看"ATTRIBUTES" section of the mq_send man page(“线程安全”为"MT-Safe")。