我有一个 main 函数,它生成了两个线程来更新 JDBC SQL 结果。子线程独占工作处于无限循环并在五分钟后更新结果。我想在退出主线程之前,应该杀死子线程。
最好的程序是什么?
我有一个 main 函数,它生成了两个线程来更新 JDBC SQL 结果。子线程独占工作处于无限循环并在五分钟后更新结果。我想在退出主线程之前,应该杀死子线程。
最好的程序是什么?
所以我假设你的代码是这样的:
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();