java计划在伪'固定'率(钟形曲线分布)

时间:2014-04-01 18:31:26

标签: java scheduled-tasks threadpool callable

目前我有一个ScheduledThreadPoolExecutor,它可以以固定的速率执行callable。

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

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

我想知道这个功能已经在java了吗? 如果我必须编写自己的“调度程序”,这种行为具有随机等待行为,那么你们有什么建议呢?

非常感谢!

厄尔本

1 个答案:

答案 0 :(得分:1)

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

使用schedule();

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

0    1
5    7
10   11
15   18