start与run

  • 执行start方法,是用来启动线程的,此时线程处于就绪状态,获得调度后运行run方法。run方法执行结束,线程就结束。
  • 执行run方法,相对于普通方法调用,在主线程调用。程序是顺序执行的,执行完才会执行下面的程序。

示例

public class StartDemo extends Thread{    @Override    public void run() {        System.out.println(Thread.currentThread().getName());    }    public static void main(String[] args) {        StartDemo startDemo = new StartDemo();        startDemo.setName("startDemo");        startDemo.run();        startDemo.start();    }}

运行结果如下:

可见,执行run的时候,run方法是main这个线程执行的,执行start的时候,run方法是startDemo线程执行的。