Java多线程之终止线程
作者:互联网
停止线程:
1、不推荐使用JDK提供的stop(),destroy()方法
2、推荐线程自己停止下来
3、建议使用标志位进行终止线程,当flag=false的时候,线程终止
package lesson04;
public class TestStop implements Runnable{
//1、设置线程终止标志位
private Boolean flag = true;
//2、线程执行体使用标识符
@Override
public void run() {
int i = 0;
while (flag){
System.out.println("线程执行了"+(i++));
}
}
//3、创建方法改变标志
private void changeFlag() {
this.flag=false;
}
public static void main(String[] args) {
//创建线程
TestStop testStop = new TestStop();
new Thread(testStop).start();
for (int i = 0; i < 1000; i++) {
System.out.println("main执行了"+i);
//当执行到900的时候终止线程
if (i == 900) {
//调用方法终止线程
testStop.changeFlag();
System.out.println("线程终止=========================");
}
}
}
}
注意:推荐使用次数来改变标识位终止线程,避免死循环。次数指的是main()执行的次数,而不是线程执行的次数!
标签:Java,TestStop,System,flag,线程,终止,多线程,testStop 来源: https://blog.csdn.net/qq_38723455/article/details/112061060