同步和异步通信如何正常工作

我试图理解术语同步和异步通信,但我有点困惑。 我试图深入研究这一点,但仍然存在混淆。 我的问题如下:

1.同步和异步通信如何工作? 还参考上面提到的用于异步通信的信号是什么。

2.同步和异步过程如何工作?

任何说明这一点的例子都会有所帮助。

如果这是一个非常简单的问题,请道歉。 我是编程新手。 希望你的答案能帮助我。 提前致谢!!!!

通过电话呼叫某人是同步。 每封邮件与他通信是异步的。


同步

当我打电话给你时,我拨打你的电话号码并等待你拿起电话。 然后你说些什么,在同一时刻我会听你的。 完成后,我会向您发送数据(与您交谈),并在您收到数据的同一时间(听我说)。 在我们的沟通结束时,我们中的一个人说“终止传输”(再见),另一个人说“Acknoledged”(再见),然后两个都响了。


异步

我给你写了一封信。 我把它放到邮局,它将被发送给你。 与此同时,我不等待 。 我做了很多不同的事情。 然后你收到了这封信。 你读它的同时我还做了很多不同的事情。 然后你给我写了一个答案然后发给我。 在所有这些事情上,我没有参与其中。 第二天,我从系统(邮递员)收到(同步)消息(信号)。 它(他)说:“这是给你的信息”。 或者,我可以每隔五分钟轮询我的收件箱,检查是否有新信件。 然后我暂停我的其他工作,收到你的来信并阅读你的答案。 然后我按照这个答案做点什么。 但这是你不会注意到的事情,因为你没有参与我对异步答案的处理。

同步您的代码发送消息,调用函数等,并被阻止,直到答案,返回值等到达。

异步你的代码在发送消息/调用函数后继续执行,你通常会将一个引用传递给一个回调函数,该函数在答案到来时执行(可能在一小时,几天,几年内发生),同时你的主线程仍在继续。