- >我的应用程序是时间敏感的,我正在寻找通知机制而不是睡眠
main()
{
boost::this_thread::sleep_for(boost::chrono::milliseconds(600));
std::cout << "waking up\n";
}
- &GT;如果有办法在不使用睡眠的情况下处理,请告诉我。
答案 0 :(得分:4)
您应该使用boost::asio::deadline_timer
:http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/deadline_timer.html
void handler(const boost::system::error_code& error)
{
if (!error)
{
// Timer expired.
}
}
...
// Construct a timer with an absolute expiry time.
boost::asio::deadline_timer timer(io_service,
boost::posix_time::time_from_string("2005-12-07 23:59:59.000"));
// Start an asynchronous wait.
timer.async_wait(handler);