计划任务 - Java 以伪'fixed'速率调度可调用对象(例如钟形曲线分布)



目前我有一个ScheduledThreadPoolExecutor,它可以以固定速率执行可调用对象。

scheduledThreadPoolExecutor.scheduleAtFixedRate(callable, delay, waitNano, TimeUnit.NANOSECONDS);

我的团队想在waitNano中添加一些随机因素。目前是1000。但是我们希望等待秒数是 900、1100、800、1200。平均等待时间仍为 1000,但等待秒是随机分布的(例如,如贝尔曲线)。

我想知道此功能是否已经在 java 中?如果我必须编写自己的"调度程序",它具有这种随机等待行为,你们有什么建议?

多谢!

埃尔本

固定计划(例如 10 分钟)调用另一个Runnable,并让它随机配置随机调度程序的下一次执行,仍然管理随机性

使用schedule();

例如:第一列显示固定调度程序的执行,它确定何时执行托管随机调度程序

0    1
5    7
10   11
15   18

最新更新