我正在寻找优雅地停止java线程并发现,但我不知道如何检查这种情况的例子

Dim*_*kyi 0 java thread-safety

这是停止线程的好例子. 如何优雅地停止java线程? - 感谢同性恋者:)但是当我尝试检查这个例子时,我收到了无限循环.你能帮助我吗?这是我的代码

public class Num{

public void crash(ManualStopping t1) {
    t1.stopMe();
}

public static void main(String [] args) {

    Num num = new Num();
    ManualStopping t1 = new ManualStopping();
    t1.run();
    System.out.println("Main thread");
    num.crash(t1);
}
Run Code Online (Sandbox Code Playgroud)

}

class ManualStopping extends Thread{

volatile boolean finished = false;
public void stopMe(){
    finished = true;
}
public void run() {
    while(!finished){
        System.out.println("I'm alive");
    }
}
Run Code Online (Sandbox Code Playgroud)

}

Dav*_*veH 5

我认为你需要start你的线程 - 不是吗run.通过调用run,您只是进行正常的方法调用,而不是运行单独的线程.