java.util.Timer 中 timer.schedule() 队列的池大小是多少

What is pool size of timer.schedule() queue in java.util.Timer

可以安排多少个任务稍后调用?这有什么限制吗?我看不到任何地方指定的最大限制。 示例:我可以安排 1000000 个任务在 10 小时后执行吗?我将安排它们只是为了在执行任务之前通过将它们添加到队列中来延迟。

理论上你可以安排无限数量的 TimerTasks - Timer 将任务存储在一个 TimerTask 数组中,如果它填满(https://github.com/AdoptOpenJDK/openjdk-jdk8u/blob/master/jdk/src/share/classes/java/util/Timer.java#L596).

但请注意,Timer仅使用一个后台线程来执行所有计划任务(https://docs.oracle.com/javase/8/docs/api/index.html?javax/swing/Timer.html):

Corresponding to each Timer object is a single background thread that is used to execute all of the timer's tasks, sequentially.

因此,如果您同时将数千个任务安排到 运行,它们将按顺序执行。