2
我是一個正在解決這個ScheduledThreadPoolExecutor問題的新手程序員。如何保證ScheduledThreadPoolExecutor的調度不會突然死亡?
在使用一些Google搜索時,我知道如何使用afterExecute方法處理來自Runnable()部分的異常。現在它歸結爲這一點。
如果ScheduledThreadPoolExecutor的scheduleAtFixedRate()方法發生錯誤並且線程突然停止,該怎麼辦?
換句話說,如果該 誤差是執行器類,而不是從Runnable的 實施?
有什麼辦法,我可以找出錯誤(重啓整個調度)& &處理呢?
謝謝
感謝您的評論。 那麼你是說錯誤只來自Runnable的實現,所以我不需要打擾? 如果您看到https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html#newSingleThreadScheduledExecutor(),那麼似乎會出現類自身的錯誤,singlethreadexecutor具有有些事情會因調度自身的失敗而恢復工作,而不是來自可運行的實現? – sanghyun
['ScheduledExecutorService']可以引發3個異常(https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html#scheduleAtFixedRate(java.lang。 Runnable,%20long,%20long,%20java.util.concurrent.TimeUnit)),並且它們都是由於Runnable的不正確使用或不當行爲而發生的。 – alfasin
@sangghyun一個具體的例子在這裏會有所幫助 – alfasin