NioEventLoop的run方法是无限循环,那后续的逻辑如何执行呢

来源:4-7 NioEventLoop执行概述

weixin_慕少8381929

2020-06-12

execute方法是先执行startThread()再执行addTask(task),startThread就是调用了run方法,如果run方法是死循环的话,addTask方法岂不是永远无法被调用

写回答

1回答

闪电侠

2020-06-13

startThread 不是在当前的线程上执行,而是会重新开一个线程,addTask 的调用线程与执行死循环的线程不是同一个线程

0
2
chengqinghuan
boolean inEventLoop = inEventLoop(); if (inEventLoop) { addTask(task); } 老师 您好,那这里不是判断如果是当前线程在执行,才会把任务放到队列,那执行addTask的不应该是当前eventloop对应的线程吗
2021-03-22
共2条回复

Java读源码之Netty深入剖析

解析netty各大组件细节,百万级性能调优,设计模式实际运用

2334 学习 · 283 问题

查看课程