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

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

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

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

Любой пример, иллюстрирующий это, был бы полезен.

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

Ответы

Ответ 1

Вызов кого-то по телефону - это синхронно. Общение с ним на почту является асинхронным.


синхронные

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


асинхронный

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

Ответ 2

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

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