lock_guard和unique_lock
时间: 2023-04-28 10:02:44 浏览: 119
4. 互斥量、lock_guard与unique_lock1
lock_guard和unique_lock都是C++11中的互斥量封装类,用于保护共享资源的并发访问。
lock_guard是一个轻量级的互斥量封装类,它在构造函数中自动加锁,在析构函数中自动解锁,因此使用起来非常方便,但是它的灵活性较差,不能手动解锁。
unique_lock是一个更加灵活的互斥量封装类,它可以手动加锁和解锁,并且支持多种锁定策略,如延迟锁定、递归锁定等。由于unique_lock的灵活性,它的性能相对于lock_guard略有下降,但是在一些特殊情况下,unique_lock是更好的选择。
阅读全文