运行 io_context
对象的事件处理循环以最多执行一个处理程序。
count_type run_one();
run_one()
函数会阻塞,直到一个处理程序被分派,或者直到 io_context
已停止。
已执行的处理程序的数量。返回值为零表示 io_context
对象已停止(stopped()
函数返回 true
)。除非先前调用了 restart()
,否则后续调用 run()
, run_one()
, poll()
或 poll_one()
将立即返回。
从当前正在同一 io_context
对象上调用 run()
, run_one()
, run_for()
, run_until()
, poll()
或 poll_one()
之一的线程调用 run_one()
函数可能会引入死锁的风险。避免这种情况是调用者的责任。