Как работает синхронная и асинхронная связь

Я пытался понять термины Синхронный и Асинхронный обмен данными, но я немного запутался. Я попытался немного покопаться вэтот но все еще есть путаница. Мои вопросы следующие:

1. Как работает синхронная и асинхронная связь? также со ссылкой на вышеупомянутые сигналы, используемые для асинхронной связи.

2. Как работает синхронный и асинхронный процесс?

Любой пример, чтобы проиллюстрировать это было бы полезно.

Извинения в случае, если это очень простой вопрос. Я новичок в программировании. Надеюсь, ваши ответы помогут мне. Заранее спасибо!!!!

Ответы на вопрос(2)

synchronous Ваш код отправляет сообщение, вызывает функцию и т. д. и блокируется до получения ответа, возвращаемого значения и т. д.

asynchronous ваш код продолжает выполняться после отправки сообщения / вызова функции, вы обычно передаете ссылку на функцию обратного вызова, которая выполняется, когда приходит ответ (может произойти через час, пару дней, лет), тем временем ваш основной поток продолжается.

Решение Вопроса

Звонить кому-то по телефону - это синхронно. Общение с ним по почте происходит асинхронно.

synchronous

Когда я звоню вам по телефону, я набираю ваш номер иWAIT пока не поднимешь. Тогда вы что-то говорите, и в тот же момент я вас слушаю. Когда вы закончите, я отправлю вам данные (поговорим с вами), и в тот же момент вы получите их (слушайте меня). В конце нашего разговора один из нас говорит «КОНЕЦ ПЕРЕДАЧИ». (До свидания), другой говорит: "Acknoledged" (До свидания), а затем оба звонят.

asynchronous

Я пишу тебе письмо. Я положил его на почту, и он будет отправлен вам. Я тем временем делаюNOT WAIT, Я делаю много разных вещей. Тогда вы получите письмо. Вы читаете это, пока я все еще делаю много разных вещей. Тогда ты пишешь мне ответ и отправляешь его мне. Во всем этом я не участвую. На следующий день я получаю (синхронное) сообщение (сигнал) от системы (почтальон). Он говорит: «Вот вам сообщение». В качестве альтернативы я мог бы опрашивать свой почтовый ящик каждые пять минут, чтобы проверить, есть ли новое письмо. Затем я приостанавливаю свою другую работу, получаю ваше письмо и читаю ваш ответ. Затем я делаю что-то в соответствии с этим ответом. Но это вещи, которые вы не заметите, потому что вы не участвуете в том, что я делаю с вашим асинхронным ответом.

 07 июл. 2015 г., 05:11
спасибо за ваше объяснение! Это невероятно.
 15 окт. 2013 г., 01:52
спасибо за это, действительно помогло мне понять разницу и какой использовать
 Shash11 апр. 2012 г., 10:58
Большое спасибо за четкое объяснение !!!!
 11 апр. 2012 г., 10:58
Хорошая аналогия! +1
 07 дек. 2015 г., 23:11
@Lpaulson: Это не имеет ничего общего с вопросом. Вы говорите о синхронизации двоичных данных с заданной частотой. Но вопрос в том, чтобы вызывать методы и функции на компьютерном языке. То, как информация кодируется и отправляется, не имеет значения для синхронного / асинхронного взаимодействия. Разговор по телефону и написание бумажных писем - это не просто аналогия. Они действительно являются примерами такого рода общения. Вызов кого-либо по телефону - это синхронная связь, но нет битов, которые нужно синхронизировать.

Ваш ответ на вопрос