山东网络推广公司潍坊百度推广优化
山东网络推广公司,潍坊百度推广优化,七牛镜像存储 wordpress,网站图片设置隐私保护怎么下载Netty线程模型
Netty中两个线程池, 分别是BossGroup和WorkGroup, 线程模型如下图所示#xff1a;
模型解释#xff1a;
Netty 抽象出两组线程池BossGroup和WorkerGroup#xff0c;BossGroup专门负责接收客户端的连接, WorkerGroup专门负责网络的读写BossGroup和WorkerGr…Netty线程模型
Netty中两个线程池, 分别是BossGroup和WorkGroup, 线程模型如下图所示
模型解释
Netty 抽象出两组线程池BossGroup和WorkerGroupBossGroup专门负责接收客户端的连接, WorkerGroup专门负责网络的读写BossGroup和WorkerGroup类型都是NioEventLoopGroupNioEventLoopGroup 相当于一个事件循环线程组, 这个组中含有多个事件循环线程 每一个事件循环线程是NioEventLoop每个NioEventLoop都有一个selector , 用于监听注册在其上的socketChannel的网络通讯每个Boss NioEventLoop线程内部循环执行的步骤有 3 步
处理accept事件 , 与client 建立连接 , 生成 NioSocketChannel将NioSocketChannel注册到某个worker NIOEventLoop上的selector处理任务队列的任务 即runAllTasks
每个worker NIOEventLoop线程循环执行的步骤
轮询注册到自己selector上的所有NioSocketChannel 的read, write事件处理 I/O 事件 即read , write 事件 在对应NioSocketChannel 处理业务runAllTasks处理任务队列TaskQueue的任务 一些耗时的业务处理一般可以放入TaskQueue中慢慢处理这样不影响数据在 pipeline 中的流动处理
每个worker NIOEventLoop处理NioSocketChannel业务时会使用 pipeline (管道)管道中维护了很多 handler 处理器用来处理 channel 中的数据
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89787.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!