![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
xu_Melon
遇到bug应该兴奋,因为又可以增长知识了
展开
-
分析Netty线程模型
Netty线程模型是基于Reactor线程模型的,而Reactor线程模型又分为单线程模型,多线程模型,主从Reactor多线程模型。Reactor的线程模型是基于同步非阻塞的IO实现的,基于异步非阻塞的IO实现的是Proactor(这里我们不分析Proactor)。下面一起来研究一下Reactor线程模型,以及其在Netty线程模型中的应用。1.Reactor单线程模型原理图如下:原创 2018-01-31 17:15:04 · 1168 阅读 · 0 评论 -
Netty5.0的NioEventLoop源码详细分析
了解Netty线程模型的小伙伴应该都知道,Netty的线程有两个NioEventLoopGroup线程池,一个是boss线程池,一个是worker线程池,其中worker线程池的任务如下:a.异步读取通讯对端的消息,向ChannelPipeline发出读事件b.异步向通讯对端发送消息,调用ChannelPipeline发送消息接口c.执行系统Task任务d.执行定时任务 系统T原创 2018-02-01 21:03:12 · 816 阅读 · 0 评论 -
Netty优雅退出机制shutdownGracefully源码分析
使用Netty开发的小伙伴肯定对下面这两句代码非常熟悉了bossGroup.shutdownGracefully(); workerGroup.shutdownGracefully();那就是Netty中大名鼎鼎的优雅退出,顾名思义它的作用就是使线程池退出,用我们都用过,那么它到底是如何工作的呢?由于Netty处理的是线程池,线程池的关闭要求其中的每一个线程关闭。而线程的实现实在Si原创 2018-02-01 23:30:30 · 10149 阅读 · 0 评论 -
为什么要用Netty开发?
Netty是什么?由JBOSS提供的基于Java NIO的开源框架,Netty提供异步非阻塞、事件驱动、高性能、高可靠、高可定制性的网络应用程序和工具,可用于开发服务端和客户端。JAVA原先是采用的是传统的BIO,为什么后来又研发出了NIO呢?首先看看传统的基于同步阻塞IO(BIO)的线程模型图BIO主要存在以下缺点:1.从线程模型图中可以看到,一连接一线程原创 2018-01-30 14:47:09 · 5016 阅读 · 0 评论