Java 中 interrupted 和 isInterrupted 方 法 的区别?

interrupt

interrupt 方法用于中断线程。调用该方法的线程的状态为将被置为”中断” 状态。
注意: 线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。
支持线程中断的方法(也就是线程中断后会抛出 interruptedException 的方法)就是在监视线程的中断状态,一旦线程的中断状态被置为“中断状态”,就会抛出中断异常。

interrupted

查询当前线程的中断状态,并且清除原状态。
如果一个线程被中断了,第一次调用 interrupted 则返回 true,第二次和后面的就返回 false 了。
isInterrupted 仅仅是查询当前线程的中断状态