loop是对thread的封装,里面记录一个selector

一套打完,看下来,就是loopgroup里面一个loop的数组,每一个loop在 new的时候,传入了selector(第二个箭头),

第一个箭头是调用父类的构造函数

loop对selector进行封装,对thread进行初始化,传入一个实现了runnable接口的,调用自己(SingleThreadEventExecutor)的run方法(抽象,待子类改写)

nioevntloop中的run方法是这样的:

可以看到,thread一旦启动,会调用selectnow(select()最后也是调这个方法),最后调用的是poll方法

而processSelectedKey方法

根据key的属性,进行相应的读写操作

转载于:https://www.cnblogs.com/chuliang/p/7986384.html

NioEventLoopGroup的构造函数相关推荐

  1. netty系列之:NIO和netty详解

    文章目录 简介 NIO常用用法 NIO和EventLoopGroup NioEventLoopGroup SelectorProvider SelectStrategyFactory Rejected ...

  2. 56. Netty源代码分析-服务器初始化 NioEventLoopGroup实例化

    一. 代码下载 Netty代码下载和编译参考前一篇Netty文章 https://blog.51cto.com/483181/2112163 二. 服务器代码分析 2.1 服务器代码编写 一般Nett ...

  3. Netty源代码学习——EventLoopGroup原理:NioEventLoopGroup分析

    类结构图: 不了解Executor接口原理的能够查看concurrent包中的api介绍.这里仅仅介绍Netty中EventExecutorGroup的主要功能! 从类的结构图中能够看到EventEx ...

  4. 派生类参数初始化列表和基类构造函数顺序

    今天被问到了一个问题,随便回了一句,父类还没有构建,怎么能初始化父类的成员. 派生类构造函数的参数初始化列表,为什么不能初始化基类的成员? 例如下面的是不可以的 class Rectangle : p ...

  5. C++ 复制构造函数或者拷贝构造函数

    复制构造函数 是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象. 复制构造函数通常用于: 通过使用另一个同类型的对象来初始化新创建的对象. 复制对象把它作为参数传 ...

  6. C++ 笔记(17)— 类和对象(构造函数、析构函数、拷贝构造函数)

    1. 构造函数 构造函数是一种特殊的函数(方法),在根据类创建对象时被调用.构造函数是一种随着对象创建而自动被调用的函数,它的主要用途是为对象作初始化. 构造函数的名称与类的名称是完全相同的,并且不会 ...

  7. php构造和析构方法,php5构造函数与析构函数实例

    自php5起,有了构造函数与析构函数. 这使得php更富有面向对象的魅力了. 在php4时,构造函数用的是与类同名的函数来进行构造这个动作. 例如: 复制代码 代码示例: /* * myclass.p ...

  8. java super快速生成_为什么当我使用编辑器代码生成器时,eclipse会在构造函数中自动添加一个java super()方法?...

    正如@Kon在他的评论中提到的, Java中的一个空构造函数包含对超类构造函数的隐式调用. 此外,没有明确调用super()的非空构造函数将在顶部具有隐式调用. 离开super()调用是唯一的时候,如 ...

  9. 【C++】何时需要自定义拷贝构造函数和赋值符

    先来说结论:当类中有指针类型成员变量的时候,一定要自定义拷贝构造和赋值运算符 原因:当我们在有指针类成员变量的时候,还是用默认拷贝构造函数(拷贝构造函数执行的时候会调用赋值符),默认赋值为浅拷贝,会导 ...

最新文章

  1. 解决Bootstrap中代码不高亮问题
  2. android镊 姩瀹夎 apk,用java写的jodconverter借用openoffice来转换office成pdf的示例代码...
  3. golang goroutine的调度模型:MPG模式
  4. mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划
  5. oracle的iw算法,[转载]Oracle日期周详解IW
  6. Vue项目中使用百度地图API
  7. php7 变量,PHP7变量结构分析
  8. textarea内容有换行时存入数据库丢失问题的解决 (转载)
  9. java8 内存设置_Java 8内存分析
  10. 智能时代,企业如何“聚数为智”加速数字化转型?
  11. Java HashMap的工作原理 及各种Map区别
  12. HNOI2004 郁闷的出纳员(Splay)
  13. python打开jpg照片_python打开图像
  14. 尚硅谷大数据Hadoop(1)技术之Hadoop(入门)
  15. 【路由设置】Macbook 双网卡同时访问内外网
  16. 创建一个 scrapy 爬虫项目
  17. 傲腾内存简介 AEP 简介
  18. 图中奇度点的数量不可能有奇数个的证明
  19. 企业支付宝转账到个人银行卡(免费率 无限额)JAVA配置示例
  20. RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor

热门文章

  1. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 ——材料清单
  2. hive(3)——使用mapreduce
  3. java string 不变_为什么String在java中是不可变的?
  4. DLL回调EXE里的函数
  5. nginx 源码调试
  6. NFS搭建openfoam
  7. 巨坑 之 pip install 和 conda install 的区别 以及 查看 和 修改 虚拟环境下运行路径
  8. linux tr命令书上的一个很好的例子
  9. Python 条件语句 学习转载
  10. strtok(), strtok_s() 字符串分割函数