我有以下代码,我将 lock_guard 用于命名互斥锁,以便在代码执行完成时释放互斥锁(包括抛出的异常)
#include <boost/interprocess/sync/named_mutex.hpp>
using namespace boost::interprocess;
int main()
{
named_mutex mutex(open_or_create, "some_name");
boost::lock_guard<named_mutex> guard(mutex);
// Do other things
}
但是代码挂在 boost::lock_guard guard(mutex); 并且不进行下一行。为什么?