为什么此代码工作得很快?
int main() {
std::condition_variable cv;
std::mutex mtx;
std::unique_lock<std::mutex> lock(mtx);
cv.wait_until(lock, std::chrono::system_clock::now() + 10000ms);
return 0;
}
似乎好像wait_until被忽略了>>
为什么此代码运行非常快? int main(){std :: condition_variable cv; std :: mutex mtx; std :: unique_lock <:mutex>lock(mtx); cv.wait_until(lock,std :: chrono :: system_clock :: ...
您可能会得到一个spurious wakeup。尝试使用接受谓词的重载...
#include <condition_variable>
int main() {
std::condition_variable cv;
std::mutex mtx;
std::unique_lock<std::mutex> lock(mtx);
cv.wait_until(lock, std::chrono::system_clock::now() + 10000ms, []{ return false; });
return 0;
}