我用GUI做了一个java程序,我想要一个停止按钮功能,当用户点击停止按钮时,程序必须停止。如何在Java中停止线程?
在我的计划中,主线程启动其他10个线程,我想,只要停止按钮被点击的所有10个线程必须在主线程之前停止。
其次,我也想,只要这10个线程的任何线程停止时,必须先关闭它打开之前一样连接到数据库的所有资源等
我已经实现了代码为........
现在有一个问题。
我的Thread类是这样的:
public class ParserThread implements Runnable {
private volatile boolean stopped = false;
public void stopTheThread() {
stopped = true;
}
:
:
}
而下面是从功能的start()
public class Main() {
Thread [] threads;
public void start() {
for(int i = 0; i < 10; i++) {
threads[i] = new Thread(new ParserThread());
}
}
public void stop() {
// code to stop all the threads
}
}
现在,我要打电话的停止方法启动10个线程的主线程ParserThread设置“stopped = true”来停止线程。我希望为所有10个线程完成这件事。
我该如何调用停止方法。我希望它在Main类的stopAllThreads()方法中完成。
见http://stackoverflow.com/questions/1611822/how-to-join-one-thread-with-other-in-java对这个问题进行的详细信息。 – 2009-10-23 07:31:18
您需要跟踪ParserThread对象而不是线程,基本上 - 或者两者兼而有之。只需要一个ParserThreads数组。 – 2009-10-23 13:31:56
的[你如何杀死在Java中的线程?]可能的复制(http://stackoverflow.com/questions/671049/how-do-you-kill-a-thread-in-java) – Raedwald 2016-09-04 08:30:50