我試圖寫一個生產者消費者模式(生產者線程,並在Java消費者線程)異常處理的Thread.sleep的情況下,等待()方法的線程
我不知道如何處理InterruptedException
的情況下,由Thread.sleep
方法拋出和Object
類的wait()
方法
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;
}
}
這是一個例子我已經採取了,在這個例子中,可能沒有任何需要照顧這些異常(我的假設)的。
但我想知道這可能是不同的場景可能在此我們需要處理這個異常。
可能的重複[處理Java中的InterruptedException](http://stackoverflow.com/questions/3976344/handling-interruptedexception-in-java) – assylias 2012-04-25 13:48:26
@assylias感謝您建議一個很好的鏈接。讓我看看這個。 – 2012-04-25 13:53:44