登录后复制 #include <string> #include <mutex> #include <iostream> using namespace std; namespace { //std::mutex m; std::recursive_mutex m; // 可递归 class Test { public: void test1() { std::lock_guard<std::recursive_mutex> lock(m); } void test2() { std::lock_guard<std::recursive_mutex> lock(m); test1(); cout << "test2()" << endl; } }; } #if 1 int main() { Test t; t.test2(); return 0; } #endif 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36. 输出: 登录后复制 test2() 1. 递归上锁用recursive_mutex,否则会崩。 原创作者: u_15698411 转载于: https://blog.51cto.com/u_15698411/11918612