Tôi đã cố gắng để viết một mô hình sản xuất tiêu dùng (chủ đề sản xuất và tiêu dùng Chủ đề trong java)Exception Handling trong trường hợp Thread.sleep và chờ đợi() phương pháp trong trường hợp Chủ đề
tôi đã tự hỏi làm thế nào để xử lý các InterruptedException
được ném bởi Thread.sleep
phương pháp và phương pháp wait()
Object
class
package producerconsumer;
import java.util.ArrayList;
public class Consumer implements Runnable {
ArrayList<Integer> container;
@Override
public void run() {
while(true){
System.out.println("Consumer Thread Running");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(null==container){
System.out.println("container is null");
}
//Removing values from Arraylist
synchronized (container) {
if(container.size()==0){
try {
container.wait();
} catch (InterruptedException e) {
//How to tackle this exception
e.printStackTrace();
}
}
Integer removedInteger = container.remove(container.size()-1);
System.out.println("removedInteger..."+removedInteger);
}
}
}
public void setContainer(ArrayList<Integer> container) {
this.container = container;
}
}
Đây là một ví dụ tôi đã thực hiện, trong ví dụ này có thể không có bất kỳ cần phải chăm sóc những ngoại lệ (Assumption của tôi).
Nhưng tôi muốn biết điều gì có thể là các kịch bản khác nhau có thể trong đó chúng tôi cần xử lý ngoại lệ này.
bản sao có thể có của [Xử lý gián đoạn gián đoạn trong Java] (http://stackoverflow.com/questions/3976344/handling-interruptedexception-in-java) – assylias
@assylias Cảm ơn bạn đã đề xuất một liên kết tốt. Hãy để tôi xem xét điều này. –