Boost Asio Cloning Handler Cleanup & LifeTimesC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Boost Asio Cloning Handler Cleanup & LifeTimes

Сообщение Anonymous »

Boost asio утверждает, что, когда объект io_context будет уничтожен, он разрушит любые выдающиеся обработчики и удаляет все копии изданных аргументов для указанных обработчиков.
все еще казнен? IO_Context может быть выполнен из нескольких потоков, и мне не ясно, что происходит с этими обработчиками и потоками и в этот момент и как их очищают. < /P>
Я представляю, что если Хэндлер использует инициирующие функции async_*, тогда у него есть четкий способ выхода из выхода рано, когда он получает сообщение об ошибке, или сам Asio завершает выполнение при вызове Async_ < /p>
Однако, Что произойдет, если обработчик занимается блокировкой? Будет ли разрушение обработчика задерживаться до завершения блокировки работы? Если у меня есть объект, у которого есть свой собственный io_context, который затем планирует работать над этим контекстом, есть ли какая -то gurantee в худшее время, которое требуется для очистки каждого обработчика?

Подробнее здесь: https://stackoverflow.com/questions/794 ... -lifetimes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»