杀死对话框上的线程关闭

时间:2012-11-20 02:37:22

标签: java

我有一个在循环中运行的线程,并且一旦启动线程的对话框关闭就想杀死一个线程。最好的方法是什么?

2 个答案:

答案 0 :(得分:5)

您可以为该主题调用interrupt()。但是,这不会停止线程,除非你在线程循环中对它做了一些事情。

Thread t = new Thread() {
    @Override
    public void run() {
        while (shouldLoop() && !isInterrupted()) {
            . . .
        }
    }
}();

// somewhere else:
t.interrupt(); // will exit thread on next loop iteration

如果您不想使用interrupt()(例如,您没有对该线程的引用),您可以在线程代码可访问的某处设置一个标志。您仍然需要在线程循环中检查它并退出循环(以及run()方法)以退出线程。

答案 1 :(得分:0)

could listen对话框关闭事件,interrupt线程。