static void test_cond_var() { CondVar cv; NaCs::tic(); for (int i = 0;i < N;i++) { cv.notify_one(); } tocPerCycle(); NaCs::tic(); for (int i = 0;i < N;i++) { cv.notify_all(); } tocPerCycle(); std::thread thread([&] { Locker locker; for (int i = 0;i < N * 2;i++) { cv.wait(locker); std::this_thread::yield(); } }); thread.detach(); NaCs::tic(); for (int i = 0;i < N;i++) { cv.notify_one(); } tocPerCycle(); NaCs::tic(); for (int i = 0;i < N;i++) { cv.notify_all(); } tocPerCycle(); }