【发布时间】:2015-06-02 15:23:22
【问题描述】:
我了解 POSIX 消息队列不需要不同进程之间的同步。但是,当在单个进程中被多个线程访问时,它们的安全性如何?
我读到了这个问题:Does message queue support Multi-thread?,它与 SysV 消息队列有关,我认为 POSIX 至少具有相同的支持。然而,这似乎暗示它们是线程安全的:
“在线程或进程之间全局共享的任何资源都受到竞争条件的影响”
这会让我相信仍然需要进程内同步。
在我的例子中,特别是使用消息队列进行通信的两个进程都实现了“boss-worker”模式,因此工作人员在尝试对消息队列执行操作时可能会发生争用情况。我的假设是否正确,即访问这些队列仍需要在每个进程中进行同步?
【问题讨论】:
标签: c multithreading synchronization posix ipc