#include <thread> #include <mutex> #include <condition_variable> typedef std::mutex Mutex; struct Condition { std::unique_lock<std::mutex> ul; std::condition_variable cv; Condition(Mutex& m) : ul(m, std::defer_lock) { } };