Netty - NIO 之 阻塞模式/非阻塞模式/多路复用

一、阻塞模式

1.1 单线程-阻塞模式 代码

服务器端代码

 

 

客户端代码

 

 

1.2 重点解析

当没有客户端连接时,ServerSocketChannel.accept()会阻塞

当客户端没有数据发过来时,SocketChannel.read()会阻塞

 

 

1.3 单线程-阻塞模式 缺点

阻塞模式,很容易被一个阻塞函数,把整个线程给停止

单线程,无法处理多个来自客户端的链接

 

二、非阻塞模式

2.1 非阻塞模式 代码

 

 

2.2 非阻塞模式 优缺点

优点:

即使是单线程,也能很好地处理多个客户端连接

线程不会被阻塞

缺点:

在没有连接时,线程一直在空转,CPU占用率太高

 

 

三、多路复用

 

posted on 2022-08-22 23:06  frank_cui  阅读(335)  评论(0)    收藏  举报

导航

levels of contents