netty服务端启动流程

k.attachment();为什么就有值了 我们自己写的nioserversocketchannle 就是null 为啥 ???
bind()---> ChannelFuture regFuture = config().group().register(channel)--->io.netty.channel.AbstractChannel.AbstractUnsafe#register.eventLoop.execute(new Runnable() {
@Override
public void run() {
register0(promise);
}
});
---->io.netty.util.concurrent.SingleThreadEventExecutor#execute(java.lang.Runnable)--->io.netty.channel.nio.NioEventLoop#run----->runAllTasks(long timeoutNanos)
----->safeExecute(task)---->io.netty.channel.AbstractChannel.AbstractUnsafe#register0--->io.netty.channel.nio.AbstractNioChannel#doRegister
①:java.nio.channels.spi.AbstractSelectableChannel#register
selectionKey = javaChannel().register(eventLoop().unwrappedSelector(), 0, this);
②:io.netty.channel.nio.NioEventLoop#select
③:io.netty.channel.socket.nio.NioServerSocketChannel#doReadMessages
head->ServerBootstrapAcceptor->tail

浙公网安备 33010602011771号