![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 118 阅读 · 0 评论 -
netty启动流程源码2
执行如下代码: serverBootstrap.group(bossGroup,workerGroup) 跟踪代码: public ServerBootstrap group(EventLoopGroup parentGroup, EventLoopGroup childGroup) { //bossGroup,workerGroup super.group(parentGroup); Objec...原创 2019-10-04 12:00:20 · 73 阅读 · 0 评论 -
netty启动源码3
接着执行如下代码: ChannelFuture future = serverBootstrap.bind(8088).sync(); 这里是真正的启动源码的地方:这行代码做的事情太多太多太多…了 跟踪源码到AbstractBootstrap类的如下方法: private ChannelFuture doBind(final SocketAddress localAddress) { ...原创 2019-10-04 16:22:59 · 96 阅读 · 0 评论 -
netty启动源码4
接着之前讲到 final ChannelFuture regFuture = initAndRegister(); 接下来讲doBind0(regFuture, channel, localAddress, promise); private ChannelFuture doBind(final SocketAddress localAddress) { //初始化和注册 ...原创 2019-10-05 13:48:49 · 115 阅读 · 0 评论 -
netty启动源码5
之前的服务端的channel初始化好了,接下来就会监听连接事件看以下reactor线程的死循环做的事情跟踪代码到 nioeventloop类的run方法 //事件循环 @Override protected void run() { for (;;) { try { try { ...原创 2019-10-06 11:57:45 · 128 阅读 · 0 评论