您无需查看 JDK 之外的内容。您可以使用java.util.concurrent.ScheduledExecutorService
在定义的延迟后和在单独的线程中进行调用。要使用它,您需要实现java.util.concurrent.Callable
或java.lang.Runnable
执行 API 调用的代码。
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
Callable apiCaller = ...;
要进行调用以使其在定义的延迟后运行,请按如下方式提交:
service.schedule(apiCaller, delay, TimeUnit.MILLISECONDS);
要获得随机延迟,您只需使用java.util.Random
.
Random random = new Random();
Random 可以为您提供有界整数。因此,如果您将其传递给可接受的范围,然后添加然后添加最小值,您将得到一个介于所需最小值和最大值之间的随机数。
int minimumDelay = 250;
int maximumDelay = 350;
int delay = random.nextInt(maximumDelay - minimumDelay) + minimumDelay;