我有一个构造可选地允许用户在ponter传递到升压互斥。 如果没有互斥被提供时,构件指针pMyMutex
被设置为NULL
。 这使得用户可以运用一些线程安全的,如果他们希望的选项。 但是,我不能使用scoped_lock
用这种检查的原因很明显的:)
if (pMyMutex != NULL)
const boost::mutex::scoped_lock l(*pMyMutex);
//The lock is already out of scope
processStuff(x, y, z);
任何人都可以提出一个整洁和简单的解决方案,这样的要求?