2015-10-10 73 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 

不程序需要在第二锁定即互斥的点死锁由同一线程被锁定两次?

回答