我有一個線程池有5個線程,並有他們未來的句柄存儲在一個ArrayList。我想要做的是在所有線程退出後返回主線程。我的情況是創建一個無限運行的程序。我的概念很簡單,但我不知道如何實現它。線程池關閉後返回主線程?
main()
方法調用threadManager()
方法threadManager()
創建線程- 有些線程拋出一個異常和問題
futureCancel()
方法,所有線程發出future.cancel
,然後關閉線程池 - 程序返回到主方法,該方法再次調用
threadManager()
並繼續。
您可以重命名'futureCancel'(類似於'restartThreads'),並在其末尾調用'threadManager'嗎? (如果錯誤處理線程不是一個運行它的好地方,你可能會啓動一個新線程來運行'threadManager'。)在我聽起來像是在一天結束的時候,你想關閉所有的東西這個錯誤,並開始備份。 'main'不是特別的;你可以在任何線程的任何方法中做到這一點。一個注意:我會確保一些關閉應用程序的乾淨方式存在。 – jpmc26
你明白了我的觀點,在一個錯誤結束時,我將關閉一切並重新啓動它。我想我可以讓futureCancel(restarThread)成爲舊池關閉的新線程,關閉老池並重新啓動一個新池。 –
我有一個關機掛鉤,用於任何災難性事件,在不正確關機之前清理所有網絡連接。 –