Netty 线程模型详解
Netty 的高性能离不开其精巧的线程模型。从 Boss 线程接收连接到 Worker 线程处理 IO,主从 Reactor 模型如何落地? 一、Netty 线程模型概述 1.1 BossGroup 和 WorkerGroup 的职责划分 1.2 EventLoop——Netty 的线程抽象 1.3 一个 EventLoop 绑定一个线程——thread-safe 的保证 二、EventLoopGroup 的创建 2.1 NioEventLoopGroup——Boss / Worker 的创建 2.2 线程数设置——new NioEventLoopGroup(1) vs ...
Java IO 模型演进
从最早的阻塞 IO 到如今高性能网络框架 Netty,Java IO 模型的演进代表了网络编程思想的一次次革命。 一、前置知识:用户态与内核态 1.1 系统调用与上下文切换的代价 1.2 同步/异步、阻塞/非阻塞的区分 1.3 两对概念的交叉矩阵 二、BIO(Blocking IO) 2.1 ServerSocket + Socket 的工作原理 2.2 一连接一线程模型的弊端——C10K 问题 2.3 线程池的缓解——但治标不治本 2.4 BIO 的适用场景——连接数少、数据量大的场景 三、NIO(Non-blocking IO / New IO)...