目录
线程的中断
说到线程的中断,一定离不开三个 方法 interrupt() , interrupted() , isInterrupted() , 我们从源代码入手就能很好地理解这三个方法
1.interrupt() 方法
interrupt方法的作用是中断此线程(注意:此线程不一定指当前线程,比如在main方法中执行,并一定指main线程,而是指调用这个方法的Thread实例所代表的线程),但实际上只是给线程设置了一个中断标志,线程仍然会继续运行
public void interrupt() {
if (this != Thread.currentThread()) {
checkAccess();
// thread may be blocked in an I/O operation
synchronized (blockerLock) {
Interruptible b = blocker;
if (b != null) {
interrupt0(); // set interrupt status
b.interrupt(this);
return;
}