使用std::lock 和 std::unique_lock来起先swap操作

Posted zhangdongsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用std::lock 和 std::unique_lock来起先swap操作相关的知识,希望对你有一定的参考价值。

技术图片

在上面代码中std::unique_lock可以传进std::lock,因为std::unique_lock有unique_lock提借lock、try_lock、unlock成员函数。

std::unique_lock有一个owner_lock函数来判断是否现在已经被锁定。你可以会说使用std::lock_guard可能稍微效率一点。但是std::unique_lock使用可以更灵活,一是可以延迟锁定,二是可以将lock的所有权传送给另一个scope。

以上是关于使用std::lock 和 std::unique_lock来起先swap操作的主要内容,如果未能解决你的问题,请参考以下文章

linux C++互斥锁std::lock_guard(轻锁)std::unique_lock(重锁)区别

C++11:互斥锁std::mutex和std::lock_guard/std::unique_lock

C++11:互斥锁std::mutex和std::lock_guard/std::unique_lock

在不同的函数中锁定/解锁 std::unique_lock

为啥 std::unique_lock 改变 std::unique_ptr?

关于使用 std::unique_lock 的说明