执行
run()
与start()
方法的区别:
public class MyThread extends Thread{
public MyThread(){
System.out.println("MyThread构造方法:"+ Thread.currentThread().getName());
}
@Override
public void run(){
System.out.println("run方法:"+ Thread.currentThread().getName());
}
}
public class ThreadMain {
public static void main(String[] args) {
MyThread mythread = new MyThread();
//看一下执行run()和start()的区别
mythread.run();
//mythread.start();
}
}
run()
:立即执行run()
方法,不启动新的线程,执行结果为:
MyThread构造方法:main
run方法:main
start()
:执行run()
方法时机不确定,启动新的线程,执行结果为:
MyThread构造方法:main
run方法:Thread-0
可见,MyThread.java 类的构造函数是被 main
线程调用的,而 run()
方法是被 Thread-0
线程调用的,run()
方法是自动调用的方法。