[C++ Daily] 递归锁解决标准锁的典型应用

递归锁解决标准锁的典型应用

先看源码:

image-20240907141802315

结果(在A种尝试锁住mutex_时失败,进程等待,死锁无法退出:

image-20240907141836754

将std::mutex 用 std::recursive_mutex替换:

image-20240907142118566

结果:

image-20240907142149366


解析:

std::recursive_mutex允许同一个线程对同一个锁对象进行多次上锁,获得多层所有权.

posted @ 2024-09-07 14:26  Neko_Code  阅读(4)  评论(0编辑  收藏  举报