使用具有相同互斥锁的 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();