在一个线程myThread中调用Thread.currentThread(),是不是一定有Thread.currentThread()==this?此时this.currentThread()跟Thread.currentThread()有区别吗?望高手不吝赐教.

解决方案 »

  1.   

    currentThread()是static的,只是返回当前线程对象。
      

  2.   

    currentThread()是Thread的一个静态方法,在你不重写父类Thread的这个方法的情况下,此时this.currentThread()跟Thread.currentThread()无任何区别
      

  3.   

    这句话Thread.currentThread()==this在myThread的run()方法里,是返回true的
      

  4.   

    this.currentThread()跟Thread.currentThread()没有区别,调用的都是静态方法currentThread()。
    Thread.currentThread()==this不一定成立,Thread的实例和普通对象一样,任何线程都可调用该实例的方法,如果是另外一个线程调用这个Thread的实例的方法,那就不会相等了。
      

  5.   

    Thread的start()方法会启动一个新线程,然后该新线程会执行Thread的run方法。但这不是说别的线程就不能调用你的Thread的run()方法了。