不能。不能重新启动线程,因为一旦线程启动并执行,它就会进入 Dead 状态。因此,如果尝试启动一个线程两次,它会给出一个 runtimeException “java.lang.IllegalThreadStateException”。参考以下示例。
public class Multithread1 extends Thread
{
public void run()
{
try {
System.out.println("thread is executing now........");
} catch(Exception e) {
}
}
public static void main (String[] args) {
Multithread1 m1= new Multithread1();
m1.start();
m1.start();
}
}
运行错误如下:
thread is executing now........
Exception in thread "main" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:708)
at Multithread1.main(Multithread1.java:13)