本文我们将先从NioEventLoop开始来学习服务端的处理流程。话不多说,开始学习~~~~
我们从上文中已经知道server在启动的时候会开启两个线程:bossGroup和workerGroup,这两个线程分别是boss线程池(用于接收client请求)和worker线程池(用于处理具体的读写操作),这两个线程调度器都是NioEventLoopGroup,bossGroup有一个NioEventLoop,而worker线程池有n*cup数量个NioEventLoop。那么我们看看在NioEventLoop中的是如何开始的:
NioEventLoop本质上是一个线程调度器(继承自ScheduledExecutorService),当bind之后就开始run起一个线程:
(代码一)
1 @Override 2 protected void
网友评论


