【问题标题】:Should mqueues be protected by semaphoresmqueue 是否应该受到信号量的保护
【发布时间】:2022-08-29 13:58:00
【问题描述】:

在多进程程序中访问队列时,应该读取mq_receive 和写入mq_send 受信号量保护,或者是否已经内置了任何类型的保护

  • 线程之间的共享资源需要同步以实现数据完整性和一致性。
  • @SparKot消息队列的想法,它们本质上实现了进程间同步。
  • 是否已经内置了任何类型的保护- 就在这里。这正是拥有消息队列的想法。

标签: c linux posix mqueue


【解决方案1】:

始终建议阅读您正在使用的 API 的正式文档。

专门针对 mq_receivemq_send 这些是:

在里面属性部分你可以看到这两个函数都是线程安全,这意味着您可以从多个线程访问它们而无需额外的保护。

【讨论】:

    最近更新 更多