在Java中可以启动线程两次吗

时间:2020-02-23 14:33:58  来源:igfitidea点击:

不行,一旦我们启动了一个线程,它就无法再次启动。

如果我们尝试再次启动线程,它将抛出 IllegalThreadStateException让我们通过示例来理解:

package org.arpit.theitroad;
 
class FirstThread extends Thread {
 
 public void run() {
  System.out.println("Thread is running");
 }
 
}
 
public class StartThreadAgainMain {
 
 public static void main(String[] args) {
  FirstThread ft = new FirstThread();
  ft.start();
  ft.start();
 
 }
 
}

运行上面的程序时,我们将得到以下输出:

Thread is runningException in thread “main" java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:705) at org.arpit.theitroad.StartThreadAgainMain.main(StartThreadAgainMain.java:16)

可以看到,启动两次线程,将会报IllegalLthreadStateException异常。