您的查询在文档中得到了很好的解决( 参考 这个部分 完整的行为方面 )
回答你的具体问题
“谁”确实执行我的任务?它是调度程序,因为任务是和他一起安排的吗?或者调度程序只是创建它们,放入队列并且激励器运行它们?
该 scheduler namespace创建一个实例 ThreadPoolTaskScheduler 能够处理任务执行本身( 因为它实现了 AsyncTaskExecutor )。因此,调度程序在没有执行程序帮助的情况下自己执行任务。
scheduler
ThreadPoolTaskScheduler
AsyncTaskExecutor
关于它们如何相关,没有明确的解释
除了它们都实现之外,调度程序和执行程序之间没有这种关系 AsyncTaskExecutor 意味着异步执行任务( 在旁注 - 执行者 namespace创建一个实例 ThreadPoolTaskExecutor )
ThreadPoolTaskExecutor
也不是“池大小”
这个 部分 将为您提供相关细节。
如果运行任务的调度程序是此配置中的执行程序冗余吗?
仅当您计划在应用程序中安排计划任务时才进行冗余,否则它将用于标记为的任何任务 @Async 。
@Async
希望这能回答您的疑问,如果需要更多信息,请在评论中告知。