netty启动源码
吃小吃
这个作者很懒,什么都没留下…
展开
-
netty启动流程源码1
public static void main(String[] args) throws InterruptedException { //就是一个死循环,不停地检测IO事件,处理IO事件,执行任务 //创建一个线程组:接受客户端连接 主线程 EventLoopGroup bossGroup=new NioEventLoopGroup(1);//cpu核心数*2 ...原创 2019-10-04 11:32:34 · 135 阅读 · 0 评论 -
netty启动流程源码2
执行如下代码:serverBootstrap.group(bossGroup,workerGroup)跟踪代码:public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup) {//bossGroup,workerGroupsuper.group(parentGroup);Objec...原创 2019-10-04 12:00:20 · 92 阅读 · 0 评论 -
netty启动源码3
接着执行如下代码:ChannelFuture future = serverBootstrap.bind(8088).sync();这里是真正的启动源码的地方:这行代码做的事情太多太多太多…了跟踪源码到AbstractBootstrap类的如下方法: private ChannelFuture doBind(final SocketAddress localAddress) { ...原创 2019-10-04 16:22:59 · 109 阅读 · 0 评论 -
netty启动源码4
接着之前讲到 final ChannelFuture regFuture = initAndRegister();接下来讲doBind0(regFuture, channel, localAddress, promise); private ChannelFuture doBind(final SocketAddress localAddress) { //初始化和注册...原创 2019-10-05 13:48:49 · 133 阅读 · 0 评论 -
netty启动源码5
之前的服务端的channel初始化好了,接下来就会监听连接事件看以下reactor线程的死循环做的事情跟踪代码到nioeventloop类的run方法//事件循环 @Override protected void run() { for (;;) { try { try { ...原创 2019-10-06 11:57:45 · 147 阅读 · 0 评论