递归锁解决标准锁的典型应用
先看源码:

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

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

结果:

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

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

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

结果:

解析:
std::recursive_mutex允许同一个线程对同一个锁对象进行多次上锁,获得多层所有权.
没有回复内容