当前位置:  开发笔记 > 编程语言 > 正文

如何使用ScheduledExecutorService重新安排任务?

如何解决《如何使用ScheduledExecutorService重新安排任务?》经验,为你挑选了1个好方法。

我在java docs中看到了这个:ScheduledAtFixedRate,它说

如果任务的任何执行遇到异常,则后续执行被禁止

我不希望在我的应用程序中发生这种情况.即使我看到异常,我也总是希望后续执行发生并继续.我怎样才能从中获得这种行为ScheduledExecutorService.



1> TofuBeer..:

使用try/catch包围Callable.call方法或Runnable.run方法...

例如:

public void run()
{
    try
    {
        // ... code
    }
    catch(final IOException ex)
    {
        // handle it
    }
    catch(final RuntimeException ex)
    {
        // handle it
    }
    catch(final Exception ex)
    {
        // handle it
    }
    catch(final Error ex)
    {
        // handle it
    }
    catch(final Throwable ex)
    {
        // handle it
    }
}

请注意,除了编译器告诉你的内容之外还有其他任何东西(我的示例中的IOException)并不是一个好主意,但有时候,这听起来像其中之一,如果你正确处理它可以解决它.

请记住,像Error这样的东西非常糟糕 - 虚拟机内存不足等等......所以要小心你如何处理它们(这就是为什么我将它们分成自己的处理程序而不仅仅是捕获(最终的Throwable ex)而没有什么其他).

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有