//源码
public void interrupt() {
//检查当前线程是否有权限中断目标线程
if (this != Thread.currentThread())
checkAccess();
synchronized (blockerLock) {
Interruptible b = blocker;
if (b != null) {
interrupt0(); // Just to set the interrupt flag
b.interrupt(this);//推断该方法用于真正中断一个线程
return;
}
}
interrupt0();
}
3.boolean isInterrupted() 返回中断状态
返回调用线程的中断状态
//源码
public boolean isInterrupted() {
return isInterrupted(false);
}
/**
* Tests if some Thread has been interrupted. The interrupted state
* is reset or not based on the value of ClearInterrupted that is
* passed.
*/
private native boolean isInterrupted(boolean ClearInterrupted);