实例:
//线程正常停止:
//1、利用次数停止,不建议死循环
//2、使用标志位flag
//不要使用stop或者destroy
public class ThreadStop implements Runnable{
private boolean flag = true;//创建标志位
@Override
public void run() {
int i =0;
while(flag){
System.out.println("run....Thread"+i++);
}
}
public void stop(){
this.flag = false;
}
public static void main(String[] args) {
ThreadStop threadStop = new ThreadStop();
new Thread(threadStop).start();
for (int i = 1; i < 500; i++) {
System.out.println("main"+i);
if(i==200){
threadStop.stop();//调用自定义stop方法停止线程
System.out.println("线程已停止!");
}
}
}
}
结果:
可以看到,通过标志位线程成功停止,主线程运行到结束!