ScheduledExecutorService 中的线程排队

Thread queuing in ScheduledExecutorService

我对 ScheduledExecutorService 的工作方式有疑问,假设我已经声明了这样一个执行者:

private static final ScheduledExecutorService SCHEDULED_EXECUTOR = Executors.newScheduledThreadPool(2);

而且,这是我将要创建的任务 运行 一天过去后:

SCHEDULED_EXECUTOR.schedule(() -> {
    // do stuff
}, 1, TimeUnit.DAYS);

如果同时收到4个请愿,把所有的定时器运行都做,然后只有两个线程运行并行?或者只有两个定时器 运行 并行?

您将 ExecutorService 配置为使用两个线程。这意味着(最多)两个线程将并行处理任务。

所以当 4 个提交进来时,它们将 "dispatched" 到这两个线程。

仅此而已。