[同步和异步]同步和异步是什么?

💖💖💖欢迎来到我的博客,我是anmory💖💖💖
又和大家见面了
欢迎来到程序员必备知识系列
作为一个程序员你不能不掌握的知识
先来自我推荐一波
个人网站欢迎访问以及捐款
推荐阅读
如何低成本搭建个人网站
专栏:动画详解leetcode算法题
C语言知识
玉桂狗跳舞

同步

假设现在你在打电话
你和你的朋友你一句我一句地抱怨着生活上的不顺
这时候我们就可以称这个过程是同步的
因为你必须等你的朋友说完你才可以继续说
你的朋友也必须等你说完才可以继续说
不是吵架的前提下
下面用一个GIF来展示什么是同步
同步动画解释
在此过程中,朋友说话的时候你就只能干等着TA把话说完,你什么都不能干
这就是我们所说的同步

同步调用

在初学代码的过程中,我们遇到最多的就是同步调用
下面的代码展示了什么是同步调用

void FuncA()
{
	FuncB();
}

在上面的代码中,当FuncA调用FuncB的时候,FuncA什么都不能做,只能等待FuncB函数执行完成之后才能执行剩下的代码
同步调用


异步

现在,你的老板喊你写一个程序,你非常不愿意,但还是照做了
那么这个时候老板在干嘛呢?他不可能干等着你把程序写完吧
老板当然要去忙其他的失去数钱
那么这个时候,你在写程序,老板在数钱
我们就称这个过程为异步
因为你和老板干的事情是完全不相干的数钱和写程序确实没关系
异步动画理解
异步允许两个函数同时执行

异步调用

我们不能让主线程一直闲着
必须让他在其他进程被调用的时候主线程也必须做点什么
此时我们就需要用到异步调用
下面的代码展示了什么是异步调用

read(file, buff);
// read函数立即返回
// 不会阻塞当前程序

在异步这种调用方式下,调用方不会被阻塞,函数调用完成后可以立即执行接下来的程序。
这时异步的重点就在于调用方接下来的程序执行可以和文件读取同时进行,从上图中我们也能看出这一点,这就是异步的高效之处。


总结

💖💖💖非常感谢各位的支持💖💖💖
我们共同进步
本系列持续更新,关注我,带你了解更多程序员必备知识
下期再见
玉桂狗跳舞

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿梦Anmory

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值