run()方法是Runnable接口的一个方法,可以多次重复实现调用;
start()方法是Thread的一个线程启动方法,一个线程不能重复启动,顾线程未结束时只能调用一次;
package demo;
public void main(String[] args) {
Demo demoThread = new Demo();
//1,直接调用Demo的run方法在主线程main中执行,输出0到9执行完毕main线程结束
//2,调用demoThread.start(),由于demoThread线程没有结束,main会等待其结束,同样输出0到9结果
//3,demoThread.setDaemon(true);,demoThread.start(),main线程顺序执行结束,由于demoThread是后台守护线程,并不一定完全输出0到9,main一旦结束demoThread就结束
}
class Demo extends Thread {
public void run() {
for(int i = 0;i < 10; i++) {
System.out.println(i);
}
}
}