我用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