其他分享
首页 > 其他分享> > std::lock_guard和std::unique_lock的区别

std::lock_guard和std::unique_lock的区别

作者:互联网

std::lock_guard

1 初始化的时候锁定std::mutex
std::mutex m_mtx;
std::lock_guard<std::mutex> m_lock(m_mtx);
2 不可以手动加锁和解锁
3 过了作用域后自动解锁

std::unique_lock

1 初始化的时候不需要必须锁定std::mutex
std::mutex m_mtx;
std::unique_lock<std::mutex> m_lock(m_mtx);
2 可以手动加锁和解锁
m_lock.lock();
m_lock.unlock();
3 过了作用域后自动解锁

标签:std,mtx,lock,解锁,guard,mutex
来源: https://www.cnblogs.com/smallredness/p/10956084.html