Почему этот код всегда печатает это?Не понимаю порядок вывода конструктора потоков, методы запуска и запуска
in start oops
in ctor oops
И не вызывает run
метод, даже если уже был запущен поток. когда поток запускается сначала методом запуска, а затем выполняется.
class MyThread extends Thread {
public MyThread(String name) {
this.setName(name);
start();
System.out.println("in ctor " + getName());
}
public void start() {
System.out.println("in start " + getName());
}
public void run() {
System.out.println("in run " + getName());
}
}
class Test {
public static void main(String []args) {
new MyThread("oops");
}
}