2012-04-13 114 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

只需在所有线程中都有一个停止条件,并在您想停止它们时进行设置。