Тест · Многопоточность: обзор · урок 6 из 10
Тест — два мьютекса в разном порядке
Что может случиться, если два потока одновременно вызовут lock_both(a, b) и lock_both(b, a)?
#include <mutex>
std::mutex a;
std::mutex b;
void lock_both(std::mutex& first, std::mutex& second) {
std::lock_guard<std::mutex> g1(first);
std::lock_guard<std::mutex> g2(second);
}