C++中的定时器回调函数

7

我需要每隔x毫秒异步调用一个函数。我的编程语言是C++,操作系统是Linux。我应该调用哪些函数来实现这个功能?

1个回答

4

谢谢您的回复。看起来我需要调用io_service::run()才能调用回调函数。有没有什么办法可以避免这种情况,因为我只需要在x毫秒后调用回调函数,而需要我调用io_service::run()会需要我在一定时间后调用它,这将违背使用计时器回调函数的目的。或者是我漏掉了什么? - Steveng
你缺少一个简单的东西:你需要提供一个线程来调用计时器。这就是io_service::run()的作用。如果你想要,你可以为此创建一个专用线程。如果你处于特殊环境中(例如某些带有消息循环的小部件工具包),你需要告诉我们。 - Sebastian Redl
“thread to run io_service::run()” 的调用看起来像这样:boost::thread timerThread(boost::bind(&boost::asio::io_service::run, &io)); - David Doria

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