netty NIO事件的流程
2023-12-30 13:04:22 0 举报
netty NIO事件的流程
作者其他创作
大纲/内容
当前时间<=任务截止时间
是
任务入队
否
selector.select(timeoutMillis)
执行任务
strategy返回-1
strategy>0
一直阻塞直到发生io
判断任务执行时间<=当前时间才会进行添加到普通任务队列
存入taskQueue
退出循环
执行任务runAllTasks(long timeoutNanos)
读写事件processSelectedKeys
timeoutNanos=0
唤醒selector
根据ioTime的比例计算出任务执行的时间
同步执行任务
阻塞一定时间
NioEventLoop单线程事件轮训
死循环拉取scheduledTaskQueue任务
strategy =selector.selectNow()
任务队列是否有任务
判断定时任务队列是否有任务
任务队列的执行不能影响io读取的效率
收藏
0 条评论
下一页