同步、异步、阻塞、非阻塞慨念区分

同步、异步、阻塞、非阻塞慨念区分

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

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

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

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

  • 阻塞、非阻塞、多路IO复用,都是同步IO,异步必定是非阻塞的,所以不存在异步阻塞和异步非阻塞的说法。真正的异步IO需要CPU的深度参与。换句话说,只有用户线程在操作IO的时候根本不去考虑IO的执行全部都交给CPU去完成,而自己只等待一个完成信号的时候,才是真正的异步IO。所以,拉一个子线程去轮询、去死循环,或者使用select、poll、epool,都不是异步。

  • 通俗一点,举个例子:
    我去书店预购书籍
    同步阻塞:我一直在书店等待着书籍的到来。
    同步非阻塞:我交付定进,每隔一段时间来查看是书记是否到来。
    异步:我交付定金后等着书店通知我去拿书。

  • 同步、异步是针对的两个对象,强调的是两个对象的之间的交递信息的消息通知机制,我一直等到货的消息(同步)和到货了你通知我(异步)。

  • 阻塞、非阻塞是针对发起请求着本身,强调发起者自己获取交递信息的消息通知机制,我一直等到货的消息(同步阻塞),我轮询查看到货情况(同步非阻塞)

参考文章https://blog.csdn.net/xingxiupaioxue/article/details/88891365

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值