同步通讯和异步通讯(简单理解)

本文通过生活中的打酱油故事,浅显易懂地阐述了同步通信中所有步骤需同步执行,而异步通信允许不同步操作,介绍三种应答方式。同步通信效率低,适合一致性高的任务;异步通信提高效率,适用于模块间速度不一致的情况。
摘要由CSDN通过智能技术生成

同步通信和异步通信(简单理解)

注:本篇文章只是告诉你什么是同步通信,什么是异步通信,即使没有计算机基础的同学也适合阅读,同时也能帮助计算机专业同学更好理解这个知识点。但是如果想深入学习,还需自己翻阅资料。

一、电脑完成一个读命令需要的步骤:

主模块发地址 --> 主模块发读命令 --> 从模块提供数据 -->主模块撤销读命令,从模块撤销数据。

​ 可能非计算机专业的学生并不懂这个四个操作具体的意思,不过没关系。我们举一个“你妈叫你打酱油”的例子:你妈就相当于主模块就相当于从模块,而酱油就相当于数据。所以计算机执行一个读命令,每个步骤就对应着:你妈告诉你去那里打酱油 --> 你妈叫你去打酱油回来 --> 你去打酱油回来给你妈–> 你妈不再需要你去打酱油,你不再去提供酱油给你妈。计算机完成一个读命令就大概如此,当然例子只是帮助你理解。如果还想深入理解就还得去翻书。

二、同步通信

​ 我们就通过“你妈叫你打酱油”的例子来说明什么是同步通信吧!

​ “你妈叫你打酱油”分为了四个步骤进行,每一个步骤需要完成的时间都是不一样吧!一般来说,“你去买酱油”的时间肯定大于“你妈命令你去打酱油回来”,计算机完成一条指令的各个步骤所需的时间也不一样,有的耗时长,有的耗时短。

​ 所谓的同步通信就是各个步骤都必须在同一时间内完成,且以那个用时最长的时间段做为各个操作所需的时间。就比如说,“你去打酱油回来给你妈”所需要的时间为1分钟,而“你妈告诉你去那里打酱油”、“ 你妈叫你去打酱油回来”、“你妈不再需要你去打酱油,你不再去提供酱油给你妈”所需要的时间各是30秒,按理来说你需要2分30秒就可以完成这个操作。但是按照同步通信,你每个步骤都需要花1分钟,本来“你妈告诉你去那里打酱油”只需要30秒,现在她还需要等30秒后再“叫你去打酱油回来”。所以现在从“你妈叫你去打酱油“到“你妈不再需要你去打酱油,你不再去提供酱油给你妈“,你需要花4分钟。这就是同步通信。

​ 同步通信的优缺就非常明显了。缺点:本来只需要2分钟30秒就能完成的事,现在需要4分钟才能完成,严重影响工作效率。同步通信更适合那个步骤所需要的时间都差不多一样的操作,体现了同步通信的局部性。优点就是规定明确、统一、模块间的配合简单一致。简单来说,就是实现起来简单。

三、异步通信

​ 异步通信克服了同步通讯的缺点,就是允许各模块速度不一致性,采用==应答方式(也称握手方式)==说白了现在你就可以以2分30秒的时间完成以上“打酱油”的操作。

​ 异步通信的应答方式有三种:不互锁,半互锁,和全互锁。我们重新再举另外一个例子来说明这三种应答方式。你和张三在篮球场打球,你叫张三把球传给你

你发出传球请求–>张三收到消息–>张三回复你“好”–>你接到球–>你回复张三“我接到球了”

  • 不互锁

    你发出传球请求,你不用等他回应你说“好”,只确定张三收到信息了,你就不再发出传球请求(撤销请求信号)。张三把球传给你,不用等你接到球再回复他“接到球了”,而是确定你接到球了,就(撤销回答信号)。

  • 半互锁

    你叫张三把球传给你,你要等他回应你说“好”,你才不发出传球请求(撤销请求信号)。张三把球传给你,不用等接到球再回复他“接到球了”,而是确定你接到球了,就(撤销回答信号)。

  • 全互锁

    你叫张三把球传给你,你要等他回应你说“好”,你再不发出传球请求(撤销请求信号)。张三把球传给你,要等你不再发出传球命令,才(撤销回答信号)。

最后,例子只是帮助理解,并不能与计算机真实操作步骤一一对应。如果有什么不恰当的地方,有劳大家在评论区批评指正,以免自己误导他人,谢谢大家。

  • 30
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值