本篇讲述一个终止线程的小技巧,篇幅虽短,作用很大,希望给大家带来帮助~
概述
终止线程:
- 1、线程正常执行完毕
- 2、外部干涉,加入标识位
- 3、不要使用 stop destroy
模拟实现
public class TerminateThread implements Runnable{
//1、加入标识,标识线程体是否能够执行
private boolean flag = true;
public static void main(String[] args) {
TerminateThread tt = new TerminateThread();
new Thread(tt).start();
for(int i=0;i<100;i++){
if(i==90) {
tt.terminate();
System.out.println(i+"时"+"game over");
break;
}
System.out.println(i+"时"+"go on");
}
}
public void run(){
//2、关联标识:flag为真运行,假则退出循环,线程自动结束
while(flag){
System.out.println("线程正处于运行状态ing...");
}
}
//3、对外提供方法,改变标识
public void terminate(){
this.flag = false;
}
}
结果
总结
- 不使用JDK提供的stop()/destroy()方法,它们本身也被JDK废弃了。
- 提供一个boolean型的终止变量,当这个变量置为false,则终止线程的运行。