我正在嘗試使用谷歌guava lib中的AbstractScheduledService
。在the docs for this class我看到以下內容:AbstractScheduledService:關閉基礎執行程序
當此服務停止時,執行程序不會關閉。
爲什麼我們希望在執行程序線程停止服務後保持活動狀態?這對我來說似乎是一個非常奇怪的架構決定。我錯過了什麼?
我正在嘗試使用谷歌guava lib中的AbstractScheduledService
。在the docs for this class我看到以下內容:AbstractScheduledService:關閉基礎執行程序
當此服務停止時,執行程序不會關閉。
爲什麼我們希望在執行程序線程停止服務後保持活動狀態?這對我來說似乎是一個非常奇怪的架構決定。我錯過了什麼?
你可以使用執行器進行多種服務(因爲它只提供執行代碼的線程,而沒有任何領域知識)。這就是爲什麼在`executor()`doc中停止@skaffman的ScheduledService
有道理,謝謝。 – 2012-01-16 10:54:26
是的,這是一個非常好的論點。請記住,ExecutorService需要Callable提交新任務並返回Future。這樣一個執行器可能用於許多不同的任務,因爲它將邏輯(Callable)與調度分開。 – altanis 2012-01-16 10:56:43
時,不要停止執行程序。 – Viruzzo 2012-01-16 10:41:43