理解阻塞非阻塞同步和异步

理解流的发展与演化需要先理解一些概念。
家庭主妇在用热水器烧水,水没开的时候一直等着,别的啥也不干,这就是阻塞。但是如果烧水的时候同时去洗菜,就是非阻塞。
家庭主妇烧水用的是不带报警器的热水器,则该主妇需要不时自己过来看水是否烧开,此为同步;如果热水器有报警功能,水烧开后自动报警通知改主妇,则为异步。

阻塞非阻塞:有数据返回前是否等待
阻塞:请求方发送数据后,线程得不到返回值就一直等.
非阻塞:请求方发送数据后,线程得不到返回值可以先做别的事。

同步异步:消息接收方通知发送方已经返回数据了
同步:请求发送后,需要自己查看有消息返回
异步:消息返回方会告知结果是否返回
 

同步阻塞(BIO):请求方自己看是否有结果返回,并且再有结果返回之前一直阻塞。每需要分配线程处理,因为线程被阻塞并且不能干别的事,所以每连接每线程,同一连接中新的请求会排队
同步非阻塞(NIO):请求方自己查看是否有结果返回,再有结果返回之前,也可以干别的事,但需要请求方经常查看。多个request可共用线程,但是线程需要维护多个请求,即不定时查看哪些线程已经处理完毕。
异步阻塞:被请求方通知是否有结果返回,并且请求方处理线程一直阻塞。
异步非阻塞(AIO):被请求方通知是否有结果返回,并且请求方可以干别的事。请求进来,线程发出io请求,无需等待,无需自己查询IO是否完成,IO完成会自动通知处理请求的线程。
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值