为什么Thread.currentThread.getName()给出主线程的名称?

时间:2019-04-22 08:47:09

标签: multithreading

我创建了一个扩展Thread的类子级。在主方法中,我为子线程分配了名称“ child”。 但是,在子类构造函数中,当我打印线程名称时,它显示为“ main”。在子类运行方法中,它说“子”。 我不明白为什么会这样发生。

public class ThreadExample {
public static void main(String[] args) {
    child m = new child();
    m.setName("child");
    m.start();
}
}

class child extends Thread {
public child() {
    System.out.println("name : " + 
Thread.currentThread().getName()); // main
}

@Override
public void run() {
    System.out.println("name : " + 
Thread.currentThread().getName()); // child
}
}

0 个答案:

没有答案