2012-04-11 142 views

回答

1

我懷疑isTerminated()始終返回true,因爲你在呼喚shutdownNow()而不是shutdown(),按照API文檔shutdownNow()

...典型的實現將通過主題取消。中斷()

因此,它聽起來像你的任務都立即響應中斷嘗試,導致他們立即完成。

0

由於文檔說,「isTerminated是不正確的,除非關閉或shutdownNow時最初被稱爲」。所以它只會告訴我們任務是否結束,而不是它們是否成功。您可以擁有一個標誌,如AtomicBoolean,並在成功完成之前切換其狀態。通過這種方式,您可以使用ExecutorService的方法來檢查任務是否完成,並檢查標誌是否成功完成。

相關問題