2010-03-17 6 views

Répondre

15

Un appel synchrone retourne à son appelant après avoir terminé son travail (ou avoir atteint le délai d'expiration). Un appel asynchrone renvoie immédiatement après en commençant une autre activité. Cela signifie que, pour un appel synchrone, l'appelant attend - est complètement bloqué - pendant que l'activité appelée se produit; un appel asynchrone revient presque immédiatement à l'appelant bien que tout ce qui est arrivé est que l'activité a été commencé. Par conséquent, après un appel asynchrone, l'activité appelée s'exécute en parallèle à l'activité d'appel.

Il existe souvent un mécanisme permettant à l'activité démarrée de manière asynchrone de «signaler» qu'elle est terminée ou que l'activité appelante peut interroger ou rechercher des preuves de l'achèvement de la tâche asynchrone.

+0

Est-ce la seule différence alors? – Zubair

+3

J'ai ajouté un peu plus de détails. "La seule différence" semble être que vous ne saisissez pas complètement l'impact - les appels synchrones et asynchrones sont extrêmement différents. –

+0

Mais aucun appel synchrone ne peut être émulé par un appel asynchrone en fournissant simplement un rappel pour passer à l'instruction suivante. Je me demande si l'appel synchonous est juste sucre syntaxique aorund un appel asynchrone? – Zubair

Questions connexes