2015-10-10 72 views
1
#include <iostream> 
#include <mutex> 

using namespace std; 

int main() 
{ 
    mutex m; 
    m.lock(); 
    cout << "locked once\n"; 

    m.lock(); 
    cout << "locked twice\n"; 

    return 0; 
} 

輸出:爲什麼這個C++ 11程序不會死鎖?

./a.out 
locked once 
locked twice 

不程序需要在第二鎖定即互斥的點死鎖由同一線程被鎖定兩次?

回答