不推荐使用JDK中的stop()和destory()方法,建议使用标志位flag=false让线程自己停下来。
public class Test implements Runnable {
private boolean flag = true;
@Override
public void run() {
int i = 0;
while (flag){
System.out.println("thread = " + i++);
}
}
public void stop(){
this.flag = false;
}
public static void main(String args[]) {
Test tester = new Test();
new Thread((Runnable) tester).start();
for (int i = 0; i < 100; i++) {
System.out.println("mian i = " + i);
if(i==50){
tester.stop();
System.out.printf("stop");
}
}
}
}
运行结果: