[C++ Daily] 递归锁解决标准锁的典型应用
递归锁解决标准锁的典型应用
先看源码:
结果(在A种尝试锁住mutex_时失败,进程等待,死锁无法退出:
将std::mutex 用 std::recursive_mutex替换:
结果:
解析:
std::recursive_mutex允许同一个线程对同一个锁对象进行多次上锁,获得多层所有权.
先看源码:
结果(在A种尝试锁住mutex_时失败,进程等待,死锁无法退出:
将std::mutex 用 std::recursive_mutex替换:
结果:
解析:
std::recursive_mutex允许同一个线程对同一个锁对象进行多次上锁,获得多层所有权.