C++ mutex 上锁简单测试

#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

输出:

test2()

递归上锁用recursive_mutex,否则会崩。

posted @   double64  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示