如果能提供一些关于如何定期(比如每 100 毫秒)唤醒 C++ 11 线程的指示,我将不胜感激。平台是Linux,语言是C++。我遇到了这个解决方案:
C++ 11: Calling a C++ function periodically
但是他们在那里调用回调函数,然后在计时器间隔内休眠。这意味着实际周期是函数执行时间+间隔。我想以固定的时间间隔调用回调,而不考虑其执行时间。
我想知道 Boost 是否有帮助?但我宁愿不使用它,因为这个项目不是多平台的,我想尽量减少第三方库的使用。
也许将 POSIX 计时器与 C++ 线程相结合是一种前进的方式?我不确定它到底是如何工作的。
如有任何关于如何开始的建议,我们将不胜感激。
最佳答案
使用std::this_thread::sleep_until()
, 每次以固定间隔递增绝对唤醒时间。
关于c++ - 如何定期唤醒 C++ 11 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812182/