オプションで、ユーザーがポンターを Boost ミューテックスに渡すことを可能にするコンストラクターがあります。ミューテックスが指定されていない場合、メンバー ポインターpMyMutex
は に設定されNULL
ます。これにより、ユーザーは必要に応じてスレッド セーフを適用することができます。ただし、scoped_lock
明らかな理由から、この種のチェックでは a を使用できません:)
if (pMyMutex != NULL)
const boost::mutex::scoped_lock l(*pMyMutex);
//The lock is already out of scope
processStuff(x, y, z);
そのような要件に対するきちんとした簡単な解決策を提案できる人はいますか?