C++11 std::this_thread - 如何取消sleep_until()?
C++11 std::this_thread - How to cancel sleep_until ()?
有什么办法可以"cancel":
std::this_thread::sleep_until(now + std::chrono::milliseconds(200));
让我们想象一下以下场景:
我将我的线程设置为在 200 毫秒内唤醒...但是在 10 毫秒后,我收到一个新请求,要求我的线程必须在 100 毫秒内唤醒...
所以线程应该在以下时间唤醒:
100 毫秒,然后是 200 毫秒(当然是在当前时间之后)。
谢谢:)
我不认为你可以用 sleep_until
做到这一点。查看条件变量 ( http://www.cplusplus.com/reference/condition_variable/condition_variable/ )。应该可以完全满足您的需求。
有什么办法可以"cancel":
std::this_thread::sleep_until(now + std::chrono::milliseconds(200));
让我们想象一下以下场景:
我将我的线程设置为在 200 毫秒内唤醒...但是在 10 毫秒后,我收到一个新请求,要求我的线程必须在 100 毫秒内唤醒...
所以线程应该在以下时间唤醒: 100 毫秒,然后是 200 毫秒(当然是在当前时间之后)。
谢谢:)
我不认为你可以用 sleep_until
做到这一点。查看条件变量 ( http://www.cplusplus.com/reference/condition_variable/condition_variable/ )。应该可以完全满足您的需求。