interrupt() interrupted() isInterruped() 区别
void interrupt()
中断线程,例如A线程运行,B线程可以调用A的interrupt()方法来设置线程A的中断标志为true
boolean interrupted()
检测当前线程是否被中断,当前线程指的是:在那个线程中调用,不是那个实例的调用。比如在主线程中调用线程 A 的 interrupted
,获取的还是主线程的中断状态。
另外在调用之后会清除当前线程的中断状态,如果当前的中断状态是 true
,调用完后变为 false
。
boolean isInterruped()
检查当前线程是否被中断,这个当前线程指的是:那个线程实例调用的,比如在主线程中调用A的 isInterruped()
,获取的是A线程的中断状态。不清楚当前线程的中断状态。