关于线程的Stop提前需知
- 我们需要知道的JDK官方给出的stop和destroy() 两个方法是有漏洞的不建议使用
- 使用标志位置来判定 JAVA的线程是否应该停止
- 使用次数设置来令标志位来进行改变
package Study.Test.Lambda;
public class TestStop implements Runnable{
private boolean flag = true;//设置标志位来进行需求判断
@Override
public void run() {
int i=0;
while(flag){
System.out.println("线程 "+i++);
}
}
public void stop(){
flag = false;
}
public static void main(String[] args) {
TestStop m = new TestStop();
Thread t = new Thread(m);
t.start();//开启线程
//因为是多线程 所以是两个i同时执行 并值并不共享
for (int i = 0; i < 1000; i++) {
if(i==900){
m.stop();//stop函数调整标志位
System.out.println("线程执行结束了");
}
System.out.println("main "+i);
}
}
}