场景: NioEventLoop绑定的Selector开始工作执行select方法
- Selector#select 所在线程为NioEventLoop的工作线程
- 执行select时会将NioEventLoop 的wakenUp原子更新为false
进入select的逻辑
首先从一个问题开始——Nio的空轮询问题
这是由于底层的IO问题导致明明没有请求要处理反而唤醒了selector
Nio 的空轮询问题
为了解决NIO的空轮询问题,Netty实现自己的解决方案。
场景: NioEventLoop绑定的Selector开始工作执行select方法
进入select的逻辑
首先从一个问题开始——Nio的空轮询问题
这是由于底层的IO问题导致明明没有请求要处理反而唤醒了selector
为了解决NIO的空轮询问题,Netty实现自己的解决方案。