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

Mar*_*wan 8 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);

请有人帮帮我吗?提前致谢.

Duc*_*uck 10

不,你不需要用互斥锁等保护它们.内核负责处理它.

请在线查看mq_send手册页"属性"部分("线程安全"是"MT-Safe").