- 测试线程停止
- 建议线程正常停止,非强行停止—->利用次数控制,不建议死循环
- 建议使用标志位(flag)—>设置一个标志位
- 不要使用stop和destroy方法和jdk不建议使用的方法
package cn.usts.edu.lesson06;
/**
* 测试线程stop
* 建议线程正常停止,非强行停止---->利用次数控制,不建议死循环
* 建议使用标志位(flag)--->设置一个标志位
* 不要使用stop和destroy方法和jdk不建议使用的方法
*
* 本实例是实现当main线程跑到500时,B线程也就停止了.
* */
public class ThreadStopDemo implements Runnable{
private boolean flag = true;//设置标志位
@Override
public void run() {
int i=0;
while (flag){
System.out.println(Thread.currentThread().getName()+"---->"+i++);
}
}
// 自定义的stop方法
public void stop(){
flag=false;
}
public static void main(String[] args) {
ThreadStopDemo demo = new ThreadStopDemo();
new Thread(demo,"B线程").start();
for (int i = 0; i < 1000; i++) {
System.out.println("main线程"+i);
if (i==500){
demo.stop();// 当main线程跑到500就停止另外一个再跑的线程
}
}
}
}