C++11 std::this_thread - 如何取消 sleep_until()?

3
有没有办法"取消"以下内容:
std::this_thread::sleep_until(now + std::chrono::milliseconds(200));

让我们想象以下情景:

我将我的线程设置为在200ms后唤醒...但是在10ms后,我收到一个新的请求,要求我的线程必须在100ms内唤醒...

因此,线程应该在100ms和200ms时唤醒(当然,是在当前时间之后)。

谢谢 :)


1
这个回答难道不是你的问题的答案吗?https://dev59.com/F2fWa4cB1Zd3GeqPg3Dw - undefined
1
这个问题及其对应的答案与pthread库有关。而这个问题是关于C++标准线程的。 - undefined
1
你不得不看一下std::condition_variable,它允许你根据特定条件通知线程。 - undefined
这个答案展示了如何使用std::conditional_variable来实现:https://dev59.com/210a5IYBdhLWcg3w88k0 - undefined
1个回答

9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接