1.实例方法isInterrupted()
该方法会调用isInterrupted(false)
private native boolean isInterrupted(boolean ClearInterrupted);
返回调用的线程是否被中断,不会改变线程的中断状态
注意:
如果线程被阻塞, 就无法检测中断状态。这是产生 InterruptedExceptioii 异常的地方
当线程中出现如以下等方法时,会try/cache InterruptedException 并清除中断状态
InterruptedException - if any thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.
- Thread.sleep()
- Object.wait();
- thread.join()
2.静态方法Thread.interrupted()
该方法会调用isInterrupted(true)
private native boolean isInterrupted(boolean ClearInterrupted);
返回调用的线程是否被中断,重置线程的中断状态为false
3.实例方法thread.interrupt();
设置该线程的中断状态为true