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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test_C3
{
        public static void main(String[] args)
        {
                T t = new T();
                t.setName("小牛");
                t.start();
               
                for(int i=0;i<30;++i)
                {
                        System.out.println("嘿嘿");
                        System.out.printf("%s线程被调用\n",Thread.currentThread().getName());       
                }       
        }       
}

class T extends Thread
{
        public void run()
        {
                for(int i=0; i<30;++i)
                {
                        System.out.printf("哈哈\n");
                        System.out.printf("%s线程被调用\n",Thread.currentThread().getName());       
                }       
        }       
}

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

5 个回复

倒序浏览
currentThread方法是Thread的静态方法,表示:返回对当前正在执行的线程对象的引用,也就是返回当前执行的线程。
例如下面的例子,在主函数中调用currentThread方法则返回主线程main,在Demo类中调用currentThread方法则返回则返回当前线程,当前线程下表从0开始,如Thread-0:
  1. class Demo extends Thread {
  2.         public void run() {
  3.                 System.out.println("执行线程:"+Thread.currentThread().getName());
  4.         }
  5. }

  6. public class ThreadTest {
  7.         public static void main(String[] args) {

  8.                 //启动线程
  9.                 new Demo().start();
  10.                 //获取主线程的名称
  11.                 System.out.println("执行线程:"+Thread.currentThread().getName());
  12.                
  13.                 /*        运行结果:
  14.                  *
  15.                  *        执行线程:main
  16.                  *        执行线程:Thread-0
  17.                  */
  18.         }
  19. }
复制代码
回复 使用道具 举报
一楼说的很对,main函数不是Thread的子类要想用currentThread方法,就必须+Thread.currentThread().getName()
回复 使用道具 举报
Thread.currentThread().getName());        
你可以分析分析这段英文啊,Thread.currentThread线程组里面当前运行的线程Thread.currentThread.getName().线程组里面当前运行的线程的名字
你可以这样想想,每个人开学的时候都要去班主任那报个到,然后才能开始一学期的生活。结果有一天系主任来班里查人了,“小王,班里今天都缺的谁啊”,班主任到教室一看原来就坐着一个学生啊,这个学生的状态也就是线程里的Alive() ,然后版主任就开始报告了“我查了一下班里就来了一个人Thread.currentThread,他的名字是Thread.currentThread.getName()除了他别人都没来。”
回复 使用道具 举报
刘治广 发表于 2013-5-23 09:01
一楼说的很对,main函数不是Thread的子类要想用currentThread方法,就必须+Thread.currentThread().getName ...

,,,,,,,为什么你们的知识点跟视频上的都不一样,视频上没讲过使用.printf这个方法啊,也没讲过字符串里加%s的意义啊,,你们怎么知道的?求指教。。。。
回复 使用道具 举报
我现在在传智学java基础,知识点老师都会说到的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马