说说BIO/NIO/AIO的区别?

BIO:同步阻塞IO,每⼀个客户端连接,服务端都会对应⼀个处理线程,对于没有分配到处理线程的连接就会被阻塞或者拒绝。相当于是⼀个连接⼀个线程。

NIO:同步⾮阻塞IO,基于Reactor模型,客户端和channel进⾏通信,channel可以进⾏读写操作,通过多路复⽤器selector来轮询注册在其上的channel,⽽后再进⾏IO操作。这样的话,在进⾏IO操作的时候再⽤⼀个线程去处理就可以了,也就是⼀个请求⼀个线程。

AIO:异步⾮阻塞IO,相⽐NIO更进⼀步,完全由操作系统来完成请求的处理,然后通知服务端开启线程去进⾏处理,因此是⼀个有效请求⼀个线程。

你可能感兴趣的:(说说BIO/NIO/AIO的区别?)