2012-04-11 17 views
16

Ich habe versucht, die Begriffe synchrone und asynchrone Kommunikation zu verstehen, aber ich bin ein wenig verwirrt. Ich habe versucht, ein wenig in this zu graben, aber es gibt immer noch Verwirrungen. Meine Fragen sind wie folgt:Wie funktioniert synchrone und asynchrone Kommunikation genau

1. Wie funktioniert die synchrone und asynchrone Kommunikation? auch unter Bezugnahme auf die oben erwähnten, welche Signale für asynchrone Kommunikation verwendet werden.

2.Wie funktioniert der synchrone und asynchrone Prozess?

Jedes Beispiel zur Veranschaulichung wäre hilfreich.

Entschuldigung, falls das eine sehr einfache Frage ist. Ich bin neu im Programmieren. Hoffe, dass deine Antworten mir helfen. Danke im Voraus!!!!

Antwort

75

Anruf am Telefon ist Synchronos. Die Kommunikation mit ihm per Mail ist asynchron.


Synchron

Wenn ich Sie am Telefon anrufen, ich wählen Sie Ihre Nummer und WAIT bis Sie abholen. Dann sagst du etwas, und im selben Moment höre ich dir zu. Wenn du fertig bist, sende ich dir Daten (rede mit dir) und im selben Moment bekommst du sie (hör mir zu). Am Ende unserer Kommunikation sagt einer von uns "ENDE DER ÜBERTRAGUNG" (Auf Wiedersehen), der andere sagt "Acknoledged" (Auf Wiedersehen) und dann beide abklingeln.


asynchronen

Ich schreibe Ihnen einen Brief. Ich lege es zum Postamt, und es wird Ihnen zugesandt. Ich die Zwischenzeit mache ich nicht warten. Ich mache viele andere Dinge. Dann erhalten Sie den Brief. Du liest es, während ich noch viele andere Dinge mache. Dann schreibst du mir eine Antwort und schickst sie mir. In all diesen Dingen bin ich nicht involviert. Am nächsten Tag bekomme ich eine (synchrone) Nachricht (ein Signal) vom System (Postbote). Er sagt: "Hier ist eine Nachricht für dich". Alternativ könnte ich meinen Posteingang alle fünf Minuten abrufen, um zu prüfen, ob ein neuer Brief vorhanden ist. Dann pausiere ich meine andere Arbeit, erhalte deinen Brief und lese deine Antwort. Dann mache ich etwas nach dieser Antwort. Aber das sind Dinge, die Sie nicht bemerken werden, weil Sie nicht an dem beteiligt sind, was ich mit Ihrer asynchronen Antwort mache.

+1

Schöne Analogie! +1 –

+1

Vielen Dank für eine klare Erklärung !!!! – Shash

+1

Vielen Dank dafür, hat mir wirklich geholfen, den Unterschied zu verstehen und welchen zu verwenden – user1189352

14

synchron Ihr Code sendet eine Nachricht, ruft eine Funktion usw. auf und wird blockiert, bis eine Antwort, ein Rückgabewert usw. eintrifft.

asynchron Ihr Code fährt fort, nach dem Senden einer Nachricht/Aufruf einer Funktion, übergeben Sie normalerweise einen Verweis auf eine Callback-Funktion, die ausgeführt wird, wenn die Antwort ankommt (kann in einer Stunde, ein paar Tage, Jahre) Hauptthread wird in der Zwischenzeit fortgesetzt.

Verwandte Themen