怎么做纪念网站,长春网站排名提升,深圳网络推广系统,东莞免费建站模板Netty中的Reactor线程主要干三件事情#xff1a; 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。
正是这三个部分组成了Reactor的运行框架#xff0c;那么我们现在来看下这个运行框架具体是怎么运转的~~ 这…Netty中的Reactor线程主要干三件事情 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。
正是这三个部分组成了Reactor的运行框架那么我们现在来看下这个运行框架具体是怎么运转的~~ 这里需要注意的是netty只会自动注册OP_READ事件而OP_WRITE事件是在当Socket写入缓冲区以满无法继续写入发送数据时由用户自己注册。 这里假设一种极端情况如果最近的一个定时任务的deadline是在未来很远的一个时间点这样就会使timeoutMillis的时间非常非常久那么Reactor岂不是会一直阻塞在Selector上造成 Netty 无法工作
当Reactor正在Selector上阻塞时如果此时用户线程向Reactor提交了异步任务Reactor线程会通过execute方法被唤醒。
Reactor线程唤醒时机
Reactor运行核心逻辑 Reactor线程运行时结构.png Reactor工作流程图.png Reactor分配任务执行时间.png 参考一文聊透Netty核心引擎Reactor的运转架构