Netty框架学习

java的三种IO

  1. BIO(传统的阻塞型):每次连接都会开一个线程,但是这个连接不做任何事情的话会造成不必要的线程开销。jdk1.4之前唯一的选择。加入线程池机制改善(多个客户端连接服务器)。
  2. NIO(同步非阻塞):一个线程处理多个请求,轮询到连接有IO请求上去处理,节省线程开销。适用于连接数目多且连接比较短。jdk1.4开始支持。
  3. AIO(异步非阻塞)。连接数目多且连接比较长。

NIO原理

一个线程维护一个Selector,一个Selector下面又维护多个通道,通道与每个客户端之间有一个缓存Buffer(底层是一个数组),Buffer既可以读也可以写(flip方法切换),通道是双向的。

标题

猜你喜欢

转载自blog.csdn.net/wflsyf/article/details/120559955