1. start()
start()方法启动新建态的线程对象,isAlive()方法判断线程是否处于活动状态。只有处于新建态的线程对象才能调用start()方法,一个线程只能启动一次
,如果重复调用start()方法,则抛出java.lang.IllegalThreadStateException不合法异常。
2. run()
run()方法描述线程执行的操作,它只是类中的一个方法,可以重复调用。
以一个例子来区分:
public class ThreadTest extends Thread{
public void run()
{
System.out.println(Thread.currentThread().getName()+" is running...");
}
public static void main(String[] args)
{
Thread thread=new Thread(new ThreadTest());
thread.run();
thread.start();
}
}
//输出
main is running...
Thread-1 is running...
总结: start(),创建并启动新的线程,可以实现多线程。通过start()使得线程处于就绪状态,在获得CPU时间片后通过run()开始运行。
run(),只是类中的一个方法,无法启动新的线程,只是运行线程。单独调用时,在主线程中执行。