NioEventLoop.run select处理IO事件(boss/worker)流程:

NioEventLoop.run select处理IO事件(boss/worker)流程:
processSelectedKeys
processSelectedKeysOptimized
processSelectedKey
以read为例:
unsafe.read()
NioServerSocketChannel(boss)
//读取accept connect
AbstractNioMessageChannel.NioMessageUnsafe.read
fireChannelRead
invokeChannelRead
//将connnected channel注册到worker
ServerBootstrapAcceptor.channelRead
NioSocketChannel(worker)
//worker从注册的channels读取数据
AbstractNioByteChannel.NioByteUnsafe.read
fireChannelRead
invokeChannelRead
调用用户的childHandler。

runAllTasks运行添加的task。

 

posted @ 2019-06-20 11:25  vsop_479  阅读(203)  评论(0编辑  收藏  举报