当我运行Test1
时,不会显示interrupt
例外,但当我运行Test2
时,会出现interrupt
例外情况。
我真的想知道背后的原因。
public class Test1 {
public static void main(final String[] args) throws InterruptedException {
int a = 10;
Thread.currentThread().interrupt();
System.out.println(a);
}
}
当我运行以下程序时,异常就在那里,我真的不确定为什么,即使它没有等待(即队列是空的)。
public class Test2 {
public static void main(final String[] args) throws InterruptedException {
BlockingQueue<Integer> q = new LinkedBlockingQueue<Integer>(2);
Thread.currentThread().interrupt();
System.out.println(q.take());
}
}
请帮助我理解为什么java表现得像这样。
感谢。