C++多线程-使用std::lock 和 std::unique_lock来进行swap操作

image

在上面代码中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。

posted @ 2020-02-11 11:06  瓜蛋  阅读(451)  评论(0编辑  收藏  举报