Запуск<io_service>цикла обработки событий объекта.
std::size_t run(
boost::system::error_code & ec);
Функциональные блоки<run()>до тех пор, пока вся работа не будет завершена и не будет отправлено больше обработчиков, или до тех пор, пока<io_service>не будет остановлено.
Несколько потоков могут вызывать функцию<run()>для создания пула потоков, из которых<io_service>может быть выполнено. Все потоки, которые ждут в бассейне, эквивалентны.<io_service>может выбрать любой из них, чтобы вызвать обработчика.
Нормальный выход из функции<run()>означает, что объект<io_service>остановлен (функция<stopped()>возвращается<true>). Последующие призывы к<run()>,<run_one()>,<poll()>или<poll_one()>немедленно вернутся, если не будет предварительного призыва к<reset()>.
- ec
Установить, какая ошибка произошла, если таковая имеется.
Количество исполнителей, которые были казнены.
Функция<run()>не должна быть вызвана из нити, которая в настоящее время вызывает один из<run()>,<run_one()>,<poll()>или<poll_one()>на том же<io_service>объекте.
Функция<poll()>может также использоваться для отправки готовых обработчиков, но без блокировки.