在ScheduledThreadPoolExecutor沒有與下面的吸氣劑(和相應的setter方法)兩個屬性:的ScheduledThreadPoolExecutor + setXXXXShutdownPolicy()
boolean getContinueExistingPeriodicTasksAfterShutdownPolicy()
獲得有關是否繼續執行現有定期任務,即使在此執行程序已被政策關掉。在這種情況下,這些任務將僅在shutdownNow時或在已經關閉時將策略設置爲false之後終止。該值默認爲false。
boolean getExecuteExistingDelayedTasksAfterShutdownPolicy()
獲取是否執行現有延遲任務的策略,即使此執行程序已關閉。在這種情況下,這些任務將僅在shutdownNow時終止,或者在已經關閉時將策略設置爲false之後終止。該值默認爲true。
爲什麼他們有不同的默認值,是否有理由改變這些屬性的值?
此外,如果您只是使用Executors
靜態方法創建ScheduledExecutorService
(它沒有方法來調整上述屬性)的實例,您應該如何更改/配置它們?
感謝您的回答。這似乎很奇怪,爲什麼默認行爲是當執行程序爲shutdown()時允許延遲任務運行,但週期性任務不是。 – 2010-10-08 22:30:16