BIO、NIO、AIO、同步、异步、阻塞、非阻塞和多路复用模型

BIO、NIO、AIO

BIO通信:传统阻塞型,一个线程负责连接,根据请求数创建相同数量的线程来响应、一请求一应答、缺乏弹性伸缩能力,容易宕机
伪异步IO通信:线程池负责连接、M请求N应答、线程数可控因而不会宕机(线程池阻塞)
NIO通信:(同步非阻塞,改进了BIO)缓冲区Buffer、通道Channel、多路复用器Selector
AIO通信:(异步非阻塞,改进了NIO)连接注册读写事件和回调函数、读写方法异步,主动通知程序

同步与异步

同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。
异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。

同步和异步的区别最大在于异步的话调用者不需要等待处理结果,被调用者会通过回调等机制来通知调用者其返回结果。

阻塞和非阻塞

阻塞: 阻塞就是发起一个请求,调用者一直等待请求结果返回,也就是当前线程会被挂起,无法从事其他任务,只有当条件就绪才能继续。
非阻塞: 非阻塞就是发起一个请求,调用者不用一直等着结果返回,可以先去干其他事情。

多路复用:I/O多路复用,I/O就是指的我们网络I/O,多路指多个TCP连接(或多个Channel),复用指复用一个或少量线程。串起来理解就是很多个网络I/O复用一个或少量的线程来处理这些连接。

©️2020 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值