deadline_timer::wait 是否让位于其他任务

Does deadline_timer::wait yield to other tasks?

本文关键字:其他 于其他 任务 timer wait 是否 deadline      更新时间:2023-10-16

调用deadline_timer::wait会导致io_service中的其他任务在等待时执行,还是在等待时完全阻塞io线程?

io_service service;
io_service::work work(service);
thread thread([&] { service.run() });
service.post([&]
{
   deadline_timer timer(service, posix_time::seconds(100000);
   timer.wait();
});
service.post([&]
{
   std::cout << "HELLO!";
}):
thread.join();

你应该打印吗?

不,

它没有,它会阻止那个时间。 库特:

此函数用于等待计时器过期。此函数会阻止,并且在计时器过期之前不会返回。

请参阅您自己的示例。