没有人知道为什么boost唯一锁对象只能在堆栈上实例化而不在堆上实例化?boost在堆上创建unique_lock而不是堆栈导致mingw崩溃
这完美的作品:
boost::unique_lock<boost::mutex> lock1(mutex1);
:
wait_condition.wait(lock1);
但是这将导致在Windows 7 & Windows 8的两种运行时崩溃使用MinGW编译后:提前
boost::unique_lock *lock1;
lock1 = new boost::unique_lock<boost::mutex>(mutex1);
:
wait_condition.wait(*lock1);
感谢
你没有提到你说的是什么版本的提升,也没有提到它在哪里以及如何崩溃。但出于好奇:在堆上创建一个特殊的RAII设施有什么意义?您可以手动锁定/解锁互斥锁... – 2013-02-10 14:21:51