2010-03-17 3 views

Antwort

15

Ein synchroner Aufruf kehrt zu seinem Aufrufer zurück, nachdem er seinen Job beendet hat (oder Zeitlimit erreicht hat). Ein asynchroner Aufruf kehrt unmittelbar nach zurück, beginnend mit einer anderen Aktivität.

Dies bedeutet, dass der Anrufer für einen synchronen Anruf wartet - vollständig blockiert ist - während die angerufene Aktivität stattfindet; Ein asynchroner Aufruf kehrt fast sofort zum Aufrufer zurück, obwohl nur die Aktivität gestartet wurde. Daher wird die aufgerufene Aktivität nach einem asynchronen Aufruf parallel zur aufrufenden Aktivität ausgeführt.

Es gibt oft einen Mechanismus für die asynchron gestartete Aktivität, um zu "melden", dass sie beendet ist, oder die aufrufende Aktivität abfragt oder anderweitig nach Hinweisen auf die Beendigung der asynchronen Aufgabe sucht.

+0

Ist das der einzige Unterschied dann? – Zubair

+3

Ich habe ein bisschen mehr Details hinzugefügt. "Der einzige Unterschied" klingt, als würden Sie die Auswirkungen nicht vollständig erfassen - synchrone und asynchrone Aufrufe sind sehr unterschiedlich. –

+0

Aber kann kein synchroner Aufruf durch einen asynchronen Aufruf emuliert werden, indem einfach ein Rückruf bereitgestellt wird, um mit der nächsten Anweisung fortzufahren. Ich frage mich, ob der synchrone Aufruf nur syntaktischer Zucker und ein asynchroner Aufruf ist? – Zubair

Verwandte Themen