interrupt() interrupted() isInterruped() 区别

void interrupt()

中断线程,例如A线程运行,B线程可以调用A的interrupt()方法来设置线程A的中断标志为true

boolean interrupted()

检测当前线程是否被中断当前线程指的是:在那个线程中调用,不是那个实例的调用。比如在主线程中调用线程 A 的 interrupted ,获取的还是主线程的中断状态。

另外在调用之后会清除当前线程的中断状态,如果当前的中断状态是 true ,调用完后变为 false 。

boolean isInterruped()

检查当前线程是否被中断,这个当前线程指的是:那个线程实例调用的,比如在主线程中调用A的 isInterruped() ,获取的是A线程的中断状态。不清楚当前线程的中断状态。

原文地址:https://www.cnblogs.com/jrkl/p/14313938.html