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