大家好,我是锋哥。今天分享关于 【Java 中 interrupted 和 isInterrupted 方法的区别?】面试题,希望对大家有帮助;
Java 中 interrupted 和 isInterrupted 方法的区别?
interrupt
interrupt 方法用于中断线程。调用该方法的线程的状态为将被置为”中断”状态。
注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出 interruptedException 的方法)就是在监视线程的中断状态,一旦线程的中断状态被置为“中断状态”,就会抛出中断异常。
interrupted
查询当前线程的中断状态,并且清除原状态。如果一个线程被中断了,第一次调用 interrupted 则返回 true,第二次和后面的就返回 false 了。
isInterrupted
仅仅是查询当前线程的中断状态