2

使用具有相同互斥锁的 unique_lock 和 scoped_lock 是否合适?允许使用 cv.wait 和可选解锁,同时还提供范围绑定的安全性。

例如;

std::mutex mut;

//thread:

std::condition_variable cv;

std::unique_lock lock(mut);
cv.wait(lock);
std::scoped_lock scopeLock(std::adopt_lock, mut);
lock.release();
//tasks

scopeLock.~scoped_lock();
4

0 回答 0