Có thể khởi chạy Thread 2 lần không ? Câu trả lời là
không. Một thread khi đã khởi chạy thì nó không thể được khởi chạy lại. Nếu gọi khởi chạy thread lần thứ 2 Java sẽ ném ra một exception
IllegalThreadStateException. Hãy xem ví dụ sau:
public class ThreadTwiceExample implements Runnable {
public void run(){
Thread t = Thread.currentThread();
System.out.println(t.getName()+" đang thực thi.");
}
public static void main(String args[]){
Thread th1 = new Thread(new ThreadTwiceExample(), "thread1");
th1.start();
th1.start();
}
}
Khi chạy chương trình trên sẽ có thông báo lỗi như sau:
Exception in thread "main" thread1 đang thực thi.
java.lang.IllegalThreadStateException
at java.lang.Thread.start(Unknown Source)
at ThreadTwiceExample.main(ThreadTwiceExample.java:10)
Nhìn vào kết quả của chương trình trên phương thức run đã được gọi khi lệnh sau được thực thi:
th1.start();
Nhưng Java ném ra một lỗi khi phương thức trên được gọi đến lần thứ 2.
0 Comment to "[Java] Có thể khởi chạy Thread 2 lần không ?"
Post a Comment