Netty基础
文章平均质量分 91
溪午闻璐
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下
展开
-
Netty基础:Reactor
一、线程模型基本介绍 不同的线程模型对程序性能的影响非常大,目前存在的线程模型有:传统阻塞I/O线程模型及Reactor线程模型;根据Reactor的数量和处理资源池线程的数量的不同,Reactor线程模型有三种典型的实现: 单Reactor单线程 单Reactor多线程 主从Reactor多线程 Netty采用的线程模型是基于主从Reactor多线程模型,并做了一些改进,其中主从Reactor多线程模型有多个Reactor。‘ 1. 传统阻塞I/O模型 ...原创 2022-05-26 21:53:19 · 399 阅读 · 0 评论 -
Netty基础:NIO三大组件
一、NIO三大核心原理关系: Selector、Channel和Buffer之间的关系图(简单版): 关系图说明: 每个channel都对应一个Buffer Selector对应一个线程,一个线程对应多个channel(连接) 上图反应了有三个channel注册到该Selector 程序切换到哪个channel,是由事件(Event)决定的 Selector会根据不同的事件,在各个通道上切换 Buffer本质上就是一个内存块,底层是一个数组 数据的读取或写入是通过Buffer进行的,这原创 2022-03-12 22:12:37 · 794 阅读 · 0 评论 -
Netty基础:IO模型
一、概述 IO模型是指使用什么样的通道进行数据的发送和接收,其很大程度上决定了程序通讯的性能。Java共支持三种网络编程模型/IO模型:BIO、NIO、AIO。 1.1 BIO BIO是传统阻塞IO模型(同步并阻塞),采用BIO模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,其在接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理,示意图如下: 该模型最大的问题是,当客户端并发访问量增加后,服务端的线程个...原创 2022-03-08 20:49:30 · 749 阅读 · 0 评论