提升 named_semaphore 示例?

Pie*_*tro 5 c++ boost semaphore interprocess

我还没有找到一个很好的例子来展示如何使用 boost::interprocess:: named_semaphore(甚至在 Boost 网站上都没有)。

我可以看到有关 interprocess_semaphore 的一些信息,但它们似乎完全不同,我不知道为一个显示的内容是否也适用于另一个。

任何人都可以给我一些此类示例/教程/文档的链接吗?

谢谢你。

App*_*234 2

interprocess_semaphore和之间的主要区别named_semaphore在于, asinterprocess_semaphore与使用共享内存共享,而 asnamed_semaphore不需要构造(使用构造)或存储在共享内存中,因为它是通过名称而不是匿名引用的。

命名同步方法使用不同的对象来访问相同的资源,但是使用相同的资源,其中匿名同步方法需要共享shared_memory或其他机制中的相同对象才能访问相同的资源。

这意味着named_semaphore有 3 个构造函数,它们可以打开或创建引用的同步方法,而相比之下interprocess_semaphore只有 1 个构造函数。

两种信号量类型均按预期实现postwaittry_waittimed_wait

更多信息请参见此处此处

此处named_semaphore提供了一个使用 a 的示例