2012-04-13 5 views
0

在我的項目中,我提供了一個保存多個憑證的選項。當用戶登錄時,他們必須選擇他們的憑證。如果他們想要移動到另一個憑證之間,他們必須註銷並登錄到其他憑證。在這裏我不關閉應用程序。如何停止當前線程以外的所有正在運行的線程?

現在,在我的項目中,當有人點擊註銷按鈕時,所有正在運行的線程正在停止。有沒有任何捷徑方法來停止我的應用程序中的所有運行線程?

在此先感謝。

+0

http://forward.com.au/javaProgramming/HowToStopAThread.html – duffymo 2012-04-13 10:12:38

+1

也許你可以多說一些你真正想達到的目標。根據你當前的描述,除了System.exit()之外別無其他建議。 – heikkim 2012-04-13 10:13:00

+0

我已經更新了問題。請再次閱讀。 – Ronak 2012-04-13 10:20:31

回答

4

將它們全部放入一個ExecutorService並命令它關閉其池中的所有線程。

+1

這會中斷(但不保證停止)服務線程池中的所有線程。這是最好的解決方案恕我直言,但可能不是OP的想法。 – 2012-04-13 13:06:54

0

System.exit(n)將停止所有正在運行的用戶線程。

+0

我已更新問題,請再次閱讀。 – Ronak 2012-04-13 10:20:03

+0

一個問題是,你要求'方法來阻止我應用程序中的所有正在運行的線程',這是一個過程終止,因爲沒有什麼可以執行你的代碼了。我認爲你的意思是「所有其他線索」。 – 2012-04-13 12:54:02

1

只需在所有線程中都有一個停止條件,並在您想停止它們時進行設置。