gpt4 book ai didi

c++ - boost::interprocess_mutex 与进程本地 boost::mutex

转载 作者:行者123 更新时间:2023-11-28 00:51:52 24 4
gpt4 key购买 nike

我正在开发一个项目,它到处都使用 boost::interprocess_mutexes,即使该应用程序甚至从来没有 fork() 的子级,但严重依赖关于多线程。

假设所有这些 interprocess_mutexes 都可以被进程本地互斥锁替换而不破坏任何东西是否正确?

我关于这可能会 boost 性能(如果只是一个最小因素)的假设是否正确?

在单个(可选的多线程)进程中使用进程间同步是否有任何可能的原因?

最佳答案

它是否使用共享内存或其他一些 IPC 机制?那个内存是否被多个应用程序使用?这就是测试...

它不必 fork ,可能有不同的代码库(单独的可执行文件)共享一些资源。例如,是否有监控应用程序或界面在应用程序通过某种 IPC 机制运行时从中获取统计信息?请注意,可能还有其他更好的方法,这只是一个示例。

查看标题:

http://www.boost.org/doc/libs/1_52_0/boost/interprocess/sync/windows/mutex.hpp

http://www.boost.org/doc/libs/1_52_0/boost/interprocess/sync/posix/mutex.hpp

存在开销,将其替换为本地版本(如果安全)可以 boost 您的效率。不过老实说,我不太熟悉 Posix 实现。

正如我上面所说,如果外部应用程序使用共享内存来获取统计信息或进行通信,您可能会使用 IPC - 但如果您不是这种情况,那么您可以更换它们。

关于c++ - boost::interprocess_mutex 与进程本地 boost::mutex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703794/

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