使用POSIX QUEUE完成后该怎么办

道伊

我正在使用mqueue.h来使用POSIX消息队列在线程之间进行通信(用于学校项目演示)。

当我完成使用队列的两个pthread并想要关闭消息队列时,该怎么办?

  1. 从两个线程执行mq_unlink和mq_close
  2. 从一个线程执行mq_unlink和mq_close
  3. 仅从一个线程执行mq_unlink
  4. 仅从两个线程执行mq_unlink
  5. 仅从一个线程执行mq_close
  6. 仅从两个线程执行mq_close

编辑(由于):“已关闭。此问题需要详细说明或清楚”

我正在使用在mqueue.h(C)中定义的POSIX消息队列在线程之间发送消息。这类似于与消息队列的进程间通信。我可以使用共享内存进行通信,但这不是我想要的。我已经成功地在线程之间创建,打开,发送和接收消息,但是需要知道完成后该怎么做。我找到了mq_close和mq_unlink,但是没有找到有关应如何使用以及从何处使用它们的信息。这就是我要问的。

SM

mq_overview -POSIX消息队列概述。

类似处理文件。

呼吁mq_close每个mq_open

当进程使用完队列后,可以使用mq_close(3)将其关闭,而当不再需要该队列时,可以使用mq_unlink(3)将其删除

可以选择致电一次mq_unlink

POSIX消息队列具有内核持久性:如果没有被mq_unlink(3)删除,则消息队列将一直存在,直到系统关闭。

mq_unlink()删除指定的消息队列名称。消息队列名称将立即删除。一旦打开队列的其他任何进程关闭其引用该队列的描述符,队列本身就会被销毁。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

POSIX(isprint)已被删除;该怎么办?

来自分类Dev

在DataGrid使用异步ItemsSource完成加载之后,该怎么办?

来自分类Dev

使用git rebase --edit-todo修复脚本后该怎么办?

来自分类Dev

如果DoExpressCheckoutPayment付款状态未完成后该怎么办?

来自分类Dev

是否使用数据集。该怎么办?

来自分类Dev

使用xpath抓取时,我该怎么办?

来自分类Dev

是否使用数据集。该怎么办?

来自分类Dev

要使用FDE +好的键盘,我该怎么办?

来自分类Dev

使用ping时收到DUP。我该怎么办?

来自分类Dev

如果要使用zabbix监视VoltDB,该怎么办?

来自分类Dev

在Spring MVC中,使用会话范围的bean完成操作后,是否需要解除绑定到该会话的bean对象的绑定?如果是,怎么办?

来自分类Dev

使用ddrescue将NTFS卷从一台设备直接复制到另一台设备后,该怎么办?

来自分类Dev

我希望能够导入JavaMail API并在Android Studio中使用它。下载mail.jar和activation.jar后该怎么办?

来自分类Dev

放弃BufferQueue后该怎么办?

来自分类Dev

用户注销后该怎么办?

来自分类Dev

git反转后该怎么办?

来自分类Dev

Mac冻结后该怎么办?

来自分类Dev

如果我从不使用TaskCompletionSource响应等待,该怎么办?

来自分类Dev

npm WARN不赞成使用xxx:我该怎么办?

来自分类Dev

我该怎么办!(感叹号)何时使用读取主机?

来自分类Dev

当使用msxml的XSLT转换与根节点('/')不匹配时,该怎么办?

来自分类Dev

如果我再次使用“最终化”对象,该怎么办?

来自分类Dev

我该怎么办才能解决“使用移动值”错误?

来自分类Dev

朱莉娅只使用我20-30%的CPU。我该怎么办?

来自分类Dev

如果我想在React中使用AOS这样的JavaScript库,该怎么办?

来自分类Dev

无法使用pupeteer加载google-translate脚本标记。我该怎么办?

来自分类Dev

如果要使用没有更新编译器的新功能该怎么办?

来自分类Dev

当我使用带有重音字母的std :: isupper()时该怎么办

来自分类Dev

使用Box2d在AndEngine中发生碰撞时该怎么办

Related 相关文章

  1. 1

    POSIX(isprint)已被删除;该怎么办?

  2. 2

    在DataGrid使用异步ItemsSource完成加载之后,该怎么办?

  3. 3

    使用git rebase --edit-todo修复脚本后该怎么办?

  4. 4

    如果DoExpressCheckoutPayment付款状态未完成后该怎么办?

  5. 5

    是否使用数据集。该怎么办?

  6. 6

    使用xpath抓取时,我该怎么办?

  7. 7

    是否使用数据集。该怎么办?

  8. 8

    要使用FDE +好的键盘,我该怎么办?

  9. 9

    使用ping时收到DUP。我该怎么办?

  10. 10

    如果要使用zabbix监视VoltDB,该怎么办?

  11. 11

    在Spring MVC中,使用会话范围的bean完成操作后,是否需要解除绑定到该会话的bean对象的绑定?如果是,怎么办?

  12. 12

    使用ddrescue将NTFS卷从一台设备直接复制到另一台设备后,该怎么办?

  13. 13

    我希望能够导入JavaMail API并在Android Studio中使用它。下载mail.jar和activation.jar后该怎么办?

  14. 14

    放弃BufferQueue后该怎么办?

  15. 15

    用户注销后该怎么办?

  16. 16

    git反转后该怎么办?

  17. 17

    Mac冻结后该怎么办?

  18. 18

    如果我从不使用TaskCompletionSource响应等待,该怎么办?

  19. 19

    npm WARN不赞成使用xxx:我该怎么办?

  20. 20

    我该怎么办!(感叹号)何时使用读取主机?

  21. 21

    当使用msxml的XSLT转换与根节点('/')不匹配时,该怎么办?

  22. 22

    如果我再次使用“最终化”对象,该怎么办?

  23. 23

    我该怎么办才能解决“使用移动值”错误?

  24. 24

    朱莉娅只使用我20-30%的CPU。我该怎么办?

  25. 25

    如果我想在React中使用AOS这样的JavaScript库,该怎么办?

  26. 26

    无法使用pupeteer加载google-translate脚本标记。我该怎么办?

  27. 27

    如果要使用没有更新编译器的新功能该怎么办?

  28. 28

    当我使用带有重音字母的std :: isupper()时该怎么办

  29. 29

    使用Box2d在AndEngine中发生碰撞时该怎么办

热门标签

归档