netty的启动过程是咋样的,就是那里启动了socket监听,咋处理请求的( 六 )

终于,我们在RegisterTask类中run方法里面看到了我们想要的信息,channel.socket.register(selector, SelectionKey.OP_ACCEPT, channel);
protected final void registerTask(Runnable task) { taskQueue.add(task); Selector selector = this.selector; if (selector != null) { if (wakenUp.compareAndSet(false, true)) { selector.wakeup(); } } else { if (taskQueue.remove(task)) { // the selector was null this means the Worker has already been shutdown. throw new RejectedExecutionException("Worker has already been shutdown"); } } }然后这个RegisterTask怎么执行的呢,我们看registerTask方法发现,这个registerTask被放进一个taskQueue里面了


推荐阅读