我正在使用mqueue.h来使用POSIX消息队列在线程之间进行通信(用于学校项目演示)。
当我完成使用队列的两个pthread并想要关闭消息队列时,该怎么办?
编辑(由于):“已关闭。此问题需要详细说明或清楚”
我正在使用在mqueue.h(C)中定义的POSIX消息队列在线程之间发送消息。这类似于与消息队列的进程间通信。我可以使用共享内存进行通信,但这不是我想要的。我已经成功地在线程之间创建,打开,发送和接收消息,但是需要知道完成后该怎么做。我找到了mq_close和mq_unlink,但是没有找到有关应如何使用以及从何处使用它们的信息。这就是我要问的。
mq_overview -POSIX消息队列概述。
类似处理文件。
呼吁mq_close
每个mq_open
。
当进程使用完队列后,可以使用
mq_close
(3)将其关闭,而当不再需要该队列时,可以使用mq_unlink
(3)将其删除。
可以选择致电一次mq_unlink
。
POSIX消息队列具有内核持久性:如果没有被
mq_unlink
(3)删除,则消息队列将一直存在,直到系统关闭。
mq_unlink()
删除指定的消息队列名称。消息队列名称将立即删除。一旦打开队列的其他任何进程关闭其引用该队列的描述符,队列本身就会被销毁。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句