A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 郑庆伟 于 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()是通用外还有什么区别吗?

2 个回复

倒序浏览
this指的是你当前这个对象的应用。而你当前这个对象是一个线程对象。然后Thread.currentThread()返回值是当前正在使用的线程对象。你让他们相比肯定是true。他们俩只是在中情况下是相等的,就是因为你现在使用的这个类是一个线程。
楼主建议你去百度一下java this关键字的使用,就什么都明白了,其实很简单的

评分

参与人数 2技术分 +1 黑马币 +30 收起 理由
黄奕豪 + 1 赞一个!
车风波 + 30 很给力!

查看全部评分

回复 使用道具 举报
this我知道怎么使用,就是Thread.currentThread()的作用我没搞明白,你这么一说我就明白了,我还要看一看Thread.currentThread()。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马