boost :: asio睡眠替换?

时间:2014-07-14 09:17:26

标签: c++ boost-asio

- >我的应用程序是时间敏感的,我正在寻找通知机制而不是睡眠

 main()
 {
 boost::this_thread::sleep_for(boost::chrono::milliseconds(600));
    std::cout << "waking up\n";
}

- &GT;如果有办法在不使用睡眠的情况下处理,请告诉我。

1 个答案:

答案 0 :(得分:4)

您应该使用boost::asio::deadline_timerhttp://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);