我有一个线程池有5个线程,并有他们未来的句柄存储在一个ArrayList。我想要做的是在所有线程退出后返回主线程。我的情况是创建一个无限运行的程序。我的概念很简单,但我不知道如何实现它。线程池关闭后返回主线程?
main()
方法调用threadManager()
方法threadManager()
创建线程- 有些线程抛出一个异常和问题
futureCancel()
方法,所有线程发出future.cancel
,然后关闭线程池 - 程序返回到主方法,该方法再次调用
threadManager()
并继续。
您可以重命名'futureCancel'(类似于'restartThreads'),并在其末尾调用'threadManager'吗? (如果错误处理线程不是一个运行它的好地方,你可能会启动一个新线程来运行'threadManager'。)在我听起来像是在一天结束的时候,你想关闭所有的东西这个错误,并开始备份。 'main'不是特别的;你可以在任何线程的任何方法中做到这一点。一个注意:我会确保一些关闭应用程序的干净方式存在。 – jpmc26
你明白了我的观点,在一个错误结束时,我将关闭一切并重新启动它。我想我可以让futureCancel(restarThread)成为旧池关闭的新线程,关闭老池并重新启动一个新池。 –
我有一个关机挂钩,用于任何灾难性事件,在不正确关机之前清理所有网络连接。 –