У меня есть следующий код, который мне странный. Сообщение журнала показывает, что текущий поток не прерывается, почему?Когда установлен флаг прерывания потока?
final BlockingQueue<String> queue = new ArrayBlockingQueue<String>(10);
Thread thread = new Thread() {
public void run() {
while (!Thread.currentThread().isInterrupted()) {
try {
LOG.info("start to take");
String next = queue.take();
LOG.info(next);
} catch (InterruptedException e) {
LOG.info(e + "");
LOG.info("IsInterupted:"
+ Thread.currentThread().isInterrupted());
continue;
}
}
}
};
thread.start();
Thread.sleep(1000);
thread.interrupt();