Hallo zusammen,
durch Zufall bin ich auf das Thema asynchroner Methodenaufruf gestoßen. Gegoogelt und gegoogelt, ich habe viele Details zur Implementierung bekommen:
1. Es wird ein eigener Thread zur Ausführung der Methode erstellt
2. Man kann "fortfahren" bevor die Methode fertig wird.
Zu dem Grund, warum man überhaupt asychrone Kommunikation haben möchte, habe ich wenig gefunden, meistens wird gesagt, dass durch asynchrone Methode der Client sich nicht langweilt, bzw. man nicht drauf warten muss, bevor weitere Operation/Funktionen angestoßen werden können.
Soweit so gut. Ich habe allerdings eine Frage, die ich sehr grundlegend finde:
Angenommen, die Funktion soll einen bestimmten Betrag eines Kontos abziehen(Client möchte Geld abheben). Man baut dazu eine asychrone Methode, sagen wir mal die Methode KontostandReduzieren(int betrag). Bei so einem Vorgang folgt logischerweise die Methode geldAusgeben(), die am Automaten den Betrag ausspuckt.
Wenn also in dem Konto nicht genügend Geld vorhanden ist, und die Methode KontostandReduzieren als asynchron deklariert wird, dann geht das Ganze doch schief, wenn vor Ende der Methode bereits eine weitere Methode ausgeführt wird?
Vielen Dank für Eure Hilfe.
Schöne Grüße aus Rheinland,
Eure Ratna
durch Zufall bin ich auf das Thema asynchroner Methodenaufruf gestoßen. Gegoogelt und gegoogelt, ich habe viele Details zur Implementierung bekommen:
1. Es wird ein eigener Thread zur Ausführung der Methode erstellt
2. Man kann "fortfahren" bevor die Methode fertig wird.
Zu dem Grund, warum man überhaupt asychrone Kommunikation haben möchte, habe ich wenig gefunden, meistens wird gesagt, dass durch asynchrone Methode der Client sich nicht langweilt, bzw. man nicht drauf warten muss, bevor weitere Operation/Funktionen angestoßen werden können.
Soweit so gut. Ich habe allerdings eine Frage, die ich sehr grundlegend finde:
Angenommen, die Funktion soll einen bestimmten Betrag eines Kontos abziehen(Client möchte Geld abheben). Man baut dazu eine asychrone Methode, sagen wir mal die Methode KontostandReduzieren(int betrag). Bei so einem Vorgang folgt logischerweise die Methode geldAusgeben(), die am Automaten den Betrag ausspuckt.
Wenn also in dem Konto nicht genügend Geld vorhanden ist, und die Methode KontostandReduzieren als asynchron deklariert wird, dann geht das Ganze doch schief, wenn vor Ende der Methode bereits eine weitere Methode ausgeführt wird?
Vielen Dank für Eure Hilfe.
Schöne Grüße aus Rheinland,
Eure Ratna
