异步、同步;阻塞和非阻塞

1、如标题所示,相信每个去面试的人都有被问到过,今天做一下深入学习和总结,认真梳理一下,文中有引用别人的东西再加上自己的一下理解。

2、同步和异步

同步和异步,关注的是消息通信机制,同步是当发起一个调用时,在没有得到结果之前,该调用就没有返回,也就是说,调用者一直需要等待这个调用的结果;而异步则刚好相反,这个调用发起后,就立即被返回,所以没有返回结果,换句话说,调用者不会立即获得结果,而是在调用发出后,被调用者通过状态或者回调函数来通知调用者处理。

举个简单的例子帮助理解:

同步:你早上起床去上课,如果同步机制,则是起床,上厕所,洗脸,早读背诵按顺序来

异步:起床,边上厕所边背诵,洗脸边听歌。

同步:执行一个操作之后,等待结果,然后才继续执行后续的操作。

异步:执行一个操作后,可以去执行其他的操作,然后等待通知再回来执行刚才没执行完的操作。

3、阻塞和非阻塞

关注的是程序等待调用结果时(消息返回值)的状态。阻塞调用是指调用结果值返回之前,当前线程会被挂起,调用线程只有等到返回结果之后才会被发返回;非阻塞指不能立即得到返回结果之前,该调用不会阻塞当前线程。阻塞就是进程被休息了,cpu去处理其它的进程去了,非阻塞可以理解为将大的整片时间的阻塞分成N个小的阻塞,所以进程不断有机会被cpu光顾服务。

阻塞:进程给CPU传达一个任务之后,一直等待CPU处理完成,然后才执行后面的操作。

非阻塞:进程给CPU传达任务后,继续处理后续的操作,隔断时间再来询问之前的操作是否完成。这样的过程其实也叫轮询。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值