java 多線程屢次調用start()

public class start {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Thread thread = new Thread(new rund());
		thread.start();
		thread.start();
//		thread.start();
//		thread.start();
	}
	

}
class rund implements Runnable{

	public void run() {
		// TODO Auto-generated method stub
		while(true){
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println(Thread.currentThread().getName());
		}
	}
	
}

同一個Thread不能重複調用start方法。java

一旦線程啓動,它就永遠不能再從新啓動。只有一個新的線程能夠被啓動,而且只能一次。一個可運行的線程或死線程能夠被從新啓動。可是仍是會報java.lang.IllegalThreadStateException異常,原先的線程繼續執行。線程

Exception in thread "main" java.lang.IllegalThreadStateException
	at java.lang.Thread.start(Thread.java:705)
	at test.start.main(start.java:13)
Thread-0
Thread-0
Thread-0
相關文章
相關標籤/搜索