优雅的非线性任务调度?

And*_*mas 0 java executorservice

我想安排一项任务首先经常发生,然后不经常发生.我宁愿不为此添加一个依赖到Quartz.

使用标准Java库,我提出的最好的是一系列一次性任务,然后是一个不太频繁的线性计划:

    ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
    myRunnable = new MyRunnable();
    executor.schedule( myRunnable, 0, TimeUnit.SECONDS );
    executor.schedule( myRunnable, 5, TimeUnit.SECONDS );
    executor.schedule( myRunnable, 10, TimeUnit.SECONDS );
    executor.schedule( myRunnable, 15, TimeUnit.SECONDS );
    executor.schedule( myRunnable, 30, TimeUnit.SECONDS );
    executor.schedule( myRunnable, 45, TimeUnit.SECONDS );
    executor.scheduleWithFixedDelay( myRunnable, 60, 300, TimeUnit.SECONDS );
Run Code Online (Sandbox Code Playgroud)

有更优雅的方法吗?

dcn*_*dcn 5

您可以让任务触发下一次执行,并在每次完成后总是增加一些"等待秒数"?