线程停止_标识位
package com.qiliang.demo06_标志位停止线程;
/*
1.建议线程正常停止,利用次数,不建议死循环
2.建议使用标志位,设置一个标志位
3.不要使用stop或者destroy等过时的方法或jdk不建议使用的方法
*/
public class StopThreadTest implements Runnable{
// 1.设置一个标识位
private boolean flag = true;
@Override
public void run() {
int i = 0;
while (flag){
System.out.println("run...Thread"+i++);
}
}
// 2.设置一个公开的方法停止线程,转换标志位
public void stop(){
this.flag=false;
}
public static void main(String[] args) {
StopThreadTest stopThreadTest = new StopThreadTest();
new Thread(stopThreadTest).start();
for (int i = 0; i < 1000; i++) {
System.out.println("main线程"+i);
if(i==900){
// 调用stop方法切换标志位,让线程停止
stopThreadTest.stop();
System.out.println("线程该停止了");
}
}
}
}
唯有努力,人生没有白走的路,每一步都算数

浙公网安备 33010602011771号