Boost Asio Handler vs Code in Main-Funktion
-
Hallo,
ich habe vor einiger Zeit ein Programm mit Boost Asio geschrieben, welches eine Website in einer Datei speichert. Das Programm in fast vollständig in der Main-Funktion geschrieben. Heute habe ich das Programm noch einmal geschrieben, es hat die gleiche Funktion. In der Umschreibung des Programmes habe ich jetzt Lambda-Ausdrücke verwendet(also Handler). Ich wollte fragen, weclhe ob es Vor- oder Nachteile es gibt und welchen Unterschied es macht, wenn man Handler verwendet oder nicht? Im Internet sehe ich (gefühlt) mehr Handler und Klassen als anderes.
Erstes Programm: https://bitbucket.org/marek22k/scriptfiles/src/788890b0699a184847b036f70832dd45d88a4edc/scriptFiles/archive_downloader.cpp
Zweites Programm: https://bitbucket.org/marek22k/scriptfiles/src/788890b0699a184847b036f70832dd45d88a4edc/scriptFiles/archive_downloader2.cppDanke im Vorraus
-
Es geht um synchron oder asynchron, nicht um Handler. Dein Programm lädt eine Datei herunter und beendet sich dann. Da gewinnt man durch asynchrone Verarbeitung nichts.
-
Wenn ich das richtig sehen machst du ja auch nur das Connect asynchron. Wenn schon dann alles asynchron. Bringt wie @manni66 schon geschrieben hat in dem Fall aber nix, weil das Programm ja sowieso nix anderes nebenher macht und bloss wartet dass der eine Request fertig wird.
Asynchron bringt dort was wo viele Dinge "nebeneinander" laufen. Also z.B. wenn du nen Server hast der gleichzeitig mehrere Requests bearbeiten/beantworten können muss, oder nen Client der gleichzeitig mehrere Requests abschicken möchte.