我記得在某個會議上看到它,但無法找到任何關於此的信息。互斥/鎖定與範圍/代碼塊
我想是這樣的:
lock(_somelock)
{
if (_someBool)
return;
DoStuff();
} // Implicit unlock
相反的:
lock(_somelock);
if (_someBool)
{
unlock(_somelock);
return;
}
DoStuff();
unlock(_somelock);
正如你可以看到代碼變得很臃腫與多個早期的回報。 很明顯,人們可以使另一個函數來處理鎖定/解鎖,但它更好嗎?
C++ 11標準庫可能嗎?
你可能要檢查[這個參考(http://en.cppreference.com/w/cpp/thread)。 –