黑马程序员技术交流社区

标题: 多线程Thread.currentThread()与this有什么区别吗? [打印本页]

作者: 郑庆伟    时间: 2012-7-1 22:58
标题: 多线程Thread.currentThread()与this有什么区别吗?
本帖最后由 郑庆伟 于 2012-7-1 23:56 编辑

class Test extends Thread
{
      
      Test(String name)
      {
          super(name);
      }
      public void run()
      {
          for(int x=0; x<60; x++)
            {
                System.out.println((Thread.currentThread()==this)+".."+this.getName()+"run.."+x);  //Thread.currentThread()跟this在使用上有什么区别吗?
            }
     }
}
class ThreadTest  
{
      public static void main(String[] args)
      {
          Test t1 = new Test("one---");
          Test t2 = new Test("two+++");

  
          t1.start();
          t2.start();
         for(int x=0; x<60; x++)
        {
           System.out.println("main"+x);
        }
    }
}
除了Thread.currentThread()是通用外还有什么区别吗?

作者: Forever。    时间: 2012-7-1 23:14
this指的是你当前这个对象的应用。而你当前这个对象是一个线程对象。然后Thread.currentThread()返回值是当前正在使用的线程对象。你让他们相比肯定是true。他们俩只是在中情况下是相等的,就是因为你现在使用的这个类是一个线程。
楼主建议你去百度一下java this关键字的使用,就什么都明白了,其实很简单的
作者: 郑庆伟    时间: 2012-7-1 23:18
this我知道怎么使用,就是Thread.currentThread()的作用我没搞明白,你这么一说我就明白了,我还要看一看Thread.currentThread()。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2