Steigern Sie ASIO Running Handler Cleanup & Lifetimes
Posted: 08 Feb 2025, 03:24
Boost ASIO stellt fest, dass wenn IO_Context Objekt zerstört wird immer noch ausgeführt werden? Ein IO_Context wird möglicherweise aus mehreren Threads ausgeführt und es ist mir nicht klar, was mit diesen Handlern und Threads passiert und an welchem Punkt und wie sie gereinigt werden. Handler nutzt die Initiierung von Funktionen async_*und hat dann eine klare Möglichkeit, frühzeitig zu beenden, wenn sie eine Fehlermeldung empfängt, oder ASIO selbst die Ausführung bei einem async_ call. Was passiert, wenn Handler blockierende Arbeit leistet? Wird die Zerstörung des Handlers bis zum Abschluss der Blockierung verzögert? Wenn ich ein Objekt habe, das einen eigenen io_context hat, der dann in diesem Kontext arbeitet, gibt es nach der schlimmsten Zeit, die es braucht, um jeden Handler aufzuräumen?