Netty的深入浅出--53.Reactor模式5大组件分析

传统IO处理的三点弊端:

1.服务端出现大量的线程与客户端通信,因为服务端的 线程数量是有限的,毕竟线程也是一种资源;

2. 线程在进行上下文切换的时候一定是有开销的,如果大量的线程进行上下文切换的话那开销将会是很巨大的;

3.在客户端与服务端建立连接之后,如果客户端发送完数据之后没有在发送了,但是连接是一直存在的,这样就白白浪费了系统资源。

正因为传统IO处理的各种弊端,所以引申出了Reactor模式。

在nio中我们处理逻辑的时候没有提供事件处理器,需要我们自己写回调方法。

在netty中就提供了事件处理器以及相关回调方法

channelRead0()方法 就是上面所提到的相关回调方法,所以说channelRead0()是被Initiation Dispatcher所调用的。

这样的话问题就出现了,因为回调方法是由Initiation Dispatcher方法来调用的话,如果channelRead0()方法执行时间长的话,会阻塞Initiation Dispatcher。

猜你喜欢

转载自blog.csdn.net/qq_37909508/article/details/91387405
今日推荐