如何停止线程?
只有一种,run方法结束。
开启多线程运行,运行代码通常是循环结构。只要控制住循环,就可以让run方法结束,也就是线程结束。
注意:stop方法已经过时。
实例代码如下:
class StopThread implements Runnable {
private boolean flag = true; //控制循环是否退出的标志
public void run() {
while (flag) {
System.out.println(Thread.currentThread().getName() + "....run");
}
}
public void changeFlag() {
flag = false;
}
}
class StopThreadDemo {
public static void main(String[] args) {
StopThread st = new StopThread();
Thread t1 = new Thread(st);
Thread t2 = new Thread(st);
//t1.setDaemon(true);
//t2.setDaemon(true);
t1.start();
t2.start();
int num = 0;
while (true) {
if (num++ == 60) {
st.changeFlag(); //让线程停止
break;
}
System.out.println(Thread.currentThread().getName() + "......." + num);
}
System.out.println("over");
}
}

本文介绍了一种在Java中优雅地停止线程的方法,通过设置一个布尔变量来控制线程内的循环,从而达到线程终止的目的。这种方法避免了使用已废弃的stop方法,并提供了具体的实现代码示例。
1403

被折叠的 条评论
为什么被折叠?



