注意:这个问题涉及 C++11。C++17(或更高版本)中相同问题的答案可能已经改变。详情:
当我们要锁定多个std::mutex'es 时,我们使用std::lock(). 但std::lock()不提供 RAII 功能。
当我们想以std::mutexRAII 方式锁定 a 时,我们使用std::lock_guard. 但std::lock_guard不能std::mutex安全地锁定多个'es。
有没有办法利用这两种方法的优势,以std::mutexRAII 方式锁定多个 'es?