我试图写一个生产者消费者模式(生产者线程,并在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