gpt4 book ai didi

c++ - boost named_semaphore 示例?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:11 24 4
gpt4 key购买 nike

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

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

任何人都可以给我一些指向此类示例/tutorials/documentation 的链接吗?

谢谢。

最佳答案

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

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

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

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

可获得更多信息 herehere .

一个使用 named_semaphore 的例子可用 here

关于c++ - boost named_semaphore 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5231215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com