stdscoped lock(C 17)

std::scoped_lock 提供了 RAII 风格的语义,用于拥有一个以上的互斥体,并结合了 std::lock 使用的锁定避免算法。当 std::scoped_lock 被破坏时,互斥体以与获取它们相反的顺序释放。

{
    std::scoped_lock lock{_mutex1,_mutex2};
    //do something
}