我正在阅读Oracle Docs 中的中断。我无法弄清楚以下部分。它指出
如果一个线程很长时间没有调用抛出 InterruptedException 的方法怎么办?然后它必须定期调用 Thread.interrupted,如果收到中断则返回 true。例如:
for (int i = 0; i < inputs.length; i++) {
heavyCrunch(inputs[i]);
if (Thread.interrupted()) {
// We've been interrupted: no more crunching.
return;
}
}
我正在挠头去理解,如果一个线程很长时间没有调用抛出 InterruptedException 的方法,这意味着什么?其次,Thread.interrupted()有什么用,它是一种方式,线程可以给自己发送中断?这个场景的实际用途是什么?谢谢。