![]() |
Home | Libraries | People | FAQ | More |
Run the io_context object's event processing
loop.
count_type run();
The run() function blocks until all work
has finished and there are no more handlers to be dispatched, or until
the io_context
has been stopped.
Multiple threads may call the run()
function to set up a pool of threads from which the io_context may execute handlers.
All threads that are waiting in the pool are equivalent and the io_context may choose any one
of them to invoke a handler.
A normal exit from the run()
function implies that the io_context object is stopped (the
stopped() function returns true). Subsequent calls to run(),
run_one(), poll()
or poll_one()
will return immediately unless there is a prior call to restart().
The number of handlers that were executed.
Calling the run()
function from a thread that is currently calling one of run(),
run_one(), run_for(),
run_until(),
poll() or poll_one()
on the same io_context object may introduce
the potential for deadlock. It is the caller's responsibility to avoid
this.
The poll()
function may also be used to dispatch ready handlers, but without blocking.