Boost asio утверждает, что, когда объект io_context будет уничтожен, он разрушит любые выдающиеся обработчики и удаляет все копии изданных аргументов для указанных обработчиков.
все еще казнен? IO_Context может быть выполнен из нескольких потоков, и мне не ясно, что происходит с этими обработчиками и потоками и в этот момент и как их очищают. < /P>
Я представляю, что если Хэндлер использует инициирующие функции async_*, тогда у него есть четкий способ выхода из выхода рано, когда он получает сообщение об ошибке, или сам Asio завершает выполнение при вызове Async_ < /p>
Однако, Что произойдет, если обработчик занимается блокировкой? Будет ли разрушение обработчика задерживаться до завершения блокировки работы? Если у меня есть объект, у которого есть свой собственный io_context, который затем планирует работать над этим контекстом, есть ли какая -то gurantee в худшее время, которое требуется для очистки каждого обработчика?
Подробнее здесь: https://stackoverflow.com/questions/794 ... -lifetimes
Boost Asio Cloning Handler Cleanup & LifeTimes ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение