(1)SingleThreadEventExecutor(抽象类) ------------------- 构造参数有: parent,这个执行者属于那个Group。 threadFactory,线程工厂
它会用线程工厂new一个线程出来,里面会执行SingleThreadEventExecutor具体子类的run方法,然后就完事。执行execute方法时,才会run。 它会做一个LinkedBlockingQueue(),无界队列,阻塞的。 然后提供了pollTask(),takeTask(),runAllTasks()等方法 --------------------
(2)DefaultEventExecutor(继承SingleThreadEventExecutor) ------------------- 它定义了run()方法,很简单,不停的takTask(),然后执行task.run(),直到关闭。 那么作用就是:创建一个线程,一个队列,不停的从队列里取task执行。
(3)DefaultEventExecutorGroup(继承MultithreadEventExecutorGroup) 很简单,如果传入10,则创建10个DefaultEventExecutor。
(4)NioEventLoop 继承 SingleThreadEventLoop 继承 SingleThreadEventExecutor
(5)NioEventLoopGroup 继承 MultithreadEventLoopGroup, 就是创建多个NioEventLoop
|