netty 中SingleThreadEventExecutor.this

记录下这种使用。

SingleThreadEventExecutor  doStartThread(

    ....

    SingleThreadEventExecutor.this.run();

    ....

)

SIngleThreadEventExecutor.this  引用指向的是NIoEventLoop。

所以这里执行的是NioEventLoop下的run()方法也就是无限循环的selector.select()的轮询。

请注意是A.this  中间有点"."

############关键点

以前在构造函数中对this的使用和一般函数对this 的使用都是指向当前对象。

看到这个不是特别的明白。于是做了下测试。

 

  例子逻辑:

对象A extends 对象B

对象B extends 抽象对象C

抽象对象C extends 抽象对象D

在A test(){

       print: A.this.getClass().getName()       //result: A

            print: A.super.getClass.getName()     //result   A

              }

在B  test1(){

        print: B.this.getClass().getName()   //result: A         

        print: B.super.getClass.getName()    //result: A

                }

在C  test3(){

        print: C.this.getClass().getName()    //result: A        

        print: C.super.getClass.getName()  //result: A

  

      }

在D  test4(){

          print: D.this.getClass().getName()     //result: A       

          print: D.super.getClass.getName()    //result: A

      }

结果遵循了这样的逻辑,如果单对一个抽象类且无实例继承它,抽象类.this 使用 会提示没有enclose  subClass。

如果对  类.this/super  都指向了对该类的实现的最终子类或者无子类实现的自身类。

netty 中SingleThreadEventExecutor.this

上一篇:php 使用 preg_replace 去除空格后的字符串无法判空


下一篇:ser2net-3.5.2串口服务器