关于线程interrupt方法解析
1 interrupt方法的原理
Interrupt方法是用于线程之间的通信。
在线程a中调用b线程的b.interrupt方法,就好像a像b打了个招呼,说b你可以停下来了,但是b停不停下来得看b自己的代码。
2 interrupt方法使用举例
2.1调用interrupt方法,并不会让线程停止
public class MyThread extends Thread{
@Override
public void run(){
for(int i=0;i<500000;i++){
System.out.println(i);
}
System.out.println("循环之后,线程是否会停止");
}
}
public class Run {
public static void main(String[] args) throws InterruptedException {
MyThread m = new MyThread();
m.start();
m.interrupt();
Thread.sleep(2000);
System.out.println("end");
}
}
结果
2.2调用interrupt方法,需要结合isinterrupted、interrupted方法的判断让其结束
public class MyThread2 extends Thread{
@Override
public void run(){
for(int i=0;i<500000;i++){
if(this.interrupted