我在Weblogic server (WLS)
內啓動了一個Java線程池ThreadPoolExecutor(具有核心池大小)。要正常關閉池,我需要在該池上調用shutdown()
。但由於我無法控制的原因,我無法在此WLS中添加任何應用程序生命週期偵聽器,這意味着我沒有任何關閉鉤子來調用此方法。 所以我正在考慮將池中的線程作爲守護進程線程,以便WLS JVM
不會等待這些線程在關閉時完成。否則JVM將不會正常關閉,因爲池中的核心線程始終在運行。將java線程池中的線程作爲守護程序線程是否存在任何問題
將線程池中的線程作爲守護進程存在任何缺點。我瞭解守護線程,當JVM退出時,這些線程永遠不會被正常清理,任何正在運行的東西都不會正常完成。這個問題只在關機階段。
在線程池中創建線程守護進程還有其他問題嗎? (或更好的方法)
相關守護進程線程的問題會涉及到什麼這些線程實際上做。只有你知道這些線程執行什麼任務。 –
[關於守護線程利弊的一些想法](http://stackoverflow.com/search?tab=relevance&q= [java]%20why%20use%20daemon%20threads) – assylias
你看了[工作經理]( http://docs.oracle.com/cd/E15051_01/wls/docs103/config_wls/self_tuned.html) – mprabhat