我一直在寻找杀死线程的方法,看来这是最流行的方法
public class UsingFlagToShutdownThread extends Thread {
private boolean running = true;
public void run() {
while (running) {
System.out.print(".");
System.out.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {}
}
System.out.println("Shutting down thread");
}
public void shutdown() {
running = false;
}
public static void main(String[] args)
throws InterruptedException {
UsingFlagToShutdownThread t = new UsingFlagToShutdownThread();
t.start();
Thread.sleep(5000);
t.shutdown();
}
}
但是,如果在 while 循环中我们生成另一个填充数据的对象(例如正在运行和更新的 gui),那么我们如何回调 - 特别是考虑到此方法可能已被调用多次,因此我们有很多线程而(运行)然后为一个更改标志会为每个人更改它吗?
谢谢