C++ boost中是否有一个名为mutex的非文件型互斥体

C++ boost中是否有一个名为mutex的非文件型互斥体,c++,boost,mutex,C++,Boost,Mutex,boost中是否有一个名为mutex的非文件型互斥体?我的问题是,如果进程崩溃,文件不会被删除。该文件甚至可以在重新启动后保存 问候,, 托拜厄斯 Boost.Interprocess提供以下互斥类型: #包括 进程间互斥:一种非递归的匿名互斥,可以放在共享内存或内存映射文件中 #包括 进程间\u递归\u互斥体:可放置在共享内存或内存映射文件中的递归匿名互斥体 #包括 命名互斥体:一种非递归的命名互斥体 #包括 命名的\u递归\u互斥体:一个递归的,命名的互斥体 我建议使用命名互斥。请参

boost中是否有一个名为mutex的非文件型互斥体?我的问题是,如果进程崩溃,文件不会被删除。该文件甚至可以在重新启动后保存

问候,, 托拜厄斯

Boost.Interprocess提供以下互斥类型:

#包括
进程间互斥:一种非递归的匿名互斥,可以放在共享内存或内存映射文件中

#包括
进程间\u递归\u互斥体:可放置在共享内存或内存映射文件中的递归匿名互斥体

#包括
命名互斥体:一种非递归的命名互斥体

#包括
命名的\u递归\u互斥体:一个递归的,命名的互斥体


我建议使用命名互斥。请参见

对于windows,可以使用
boost::interprocess::ipcdeail::winapi\u mutex\u包装器
,因为它不是基于文件的

命名的\u mutex(至少在默认设置中)创建文件。这不是我想要的,因此我的问题。是的,我的错。我检查了1.46分支中的实现(请看)-它在共享内存中创建文件。可能是
boost::thread::mutex
执行此任务。我还没用过呢,你需要在进程之间共享互斥吗?(如果您询问的是命名互斥体,我想您会这样做,但最好说清楚)。您使用的是Windows还是Unix(创建的as行为可能不同)?是的,我需要在进程之间共享。主要的用途是在Win32上,但是一个可移植的解决方案会更好,因此问题是一个boost解决方案。我创建了一个罚单,因为这个似乎是非正式的。看见
#include <boost/interprocess/sync/interprocess_mutex.hpp>
#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
#include <boost/interprocess/sync/named_mutex.hpp>
#include <boost/interprocess/sync/named_recursive_mutex.hpp>