关于阻塞IO、非阻塞IO、同步以及异步通知

其实关于这部分参考了很多文章,发现每个人的见解都是不一样的。

综合所学到的知识,进行了一些总结。

简单来说。

  • 阻塞IO是等待设备可访问后再访问
  • 非阻塞IO是查询设备是否可以访问
  • 阻塞IO和非阻塞IO在一定程度上可以算作同步通知
  • 异步通知:设备通知自身可以访问

看起来是有点点问题,不过从某种程度上理解其实并没有错。

再来一个版本

  • 同步通知:不关心调用的过程是否发生阻塞,但是IO读写的时候会阻塞,可以说是当前的线程直接调用
  • 异步通知:不关心调用的过程是否发生阻塞,等设备好了通知,可以说是通过其他线程调用(回调通知)
  • 阻塞IO:关心调用过程,调用过程会发生阻塞,同时读写的时候也会发生阻塞,在没有完全接收到数据之前不会返回
  • 非阻塞IO:调用后立即返回,调用过程中不会发生阻塞,但是读写IO是会发生阻塞

这么说呢,好像也半对不对。

  • 阻塞和非阻塞IO区别:是否查询数据准备好了再去读取
  • 同步和异步区别:是否通过当前线程进行调用

这就是我暂时的理解,后续有新的理解会更新....

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值