0

我有一个 main 函数,它生成了两个线程来更新 JDBC SQL 结果。子线程独占工作处于无限循环并在五分钟后更新结果。我想在退出主线程之前,应该杀死子线程。

最好的程序是什么?

4

1 回答 1

1

所以我假设你的代码是这样的:

class ThreadTask implements Runnable {
    public void run() {
        while(true) {
            ...
        }
    }
}

你可以做的是实现一个标志:

class ThreadTask implements Runnable {

    private volatile boolean shouldStop = false;

    public void run() {
        while(!shouldStop) {
            ...
        }
    }

    public void stopTask() {
        shouldStop = true;
    }
}

然后在主线程中:

ThreadTask task = new ThreadTask(); 
Thread t = new Thread(task);
t.start();
...
task.stopTask();
t.join();
于 2012-10-19T10:38:55.183 回答