我有一个main函数,它生成了两个线程来更新JDBC SQL结果。专门工作的子线程处于无限循环中,并在五分钟后更新结果。我想在退出主线之前,应该杀死孩子。
最好的程序是什么?
答案 0 :(得分: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();