Java 春天是怎样的';s@计划的注释工作?

Java 春天是怎样的';s@计划的注释工作?,java,spring,spring-scheduled,Java,Spring,Spring Scheduled,在我的应用程序中,我在3个单独的类中有3个计划方法: @Component public class ClassA { @Scheduled(fixedDelay = 5000L) public void methodA(){ //do task "A" } } @Component public class ClassB { @Scheduled(fixedDelay = 5000L) public void methodB(){ //

在我的应用程序中,我在3个单独的类中有3个计划方法:

@Component
public class ClassA {
@Scheduled(fixedDelay = 5000L)
    public void methodA(){
        //do task "A"
    }
}

@Component
public class ClassB {
@Scheduled(fixedDelay = 5000L)
    public void methodB(){
        //do task "B"
    }
}

@Component
public class ClassF {
@Scheduled(fixedDelay = 5000L)
    public void methodF(){
        //do task "F"
    }
}
在apps applicationContext中有这样的行:

<task:annotation-driven executor="myExecutor" scheduler="scheduler"/>
<task:executor id="myExecutor"/>
<task:scheduler id="scheduler"/>

我无法从日志文件中找到它,因此以下是我的问题:

  • 这些方法是如何执行的?并行还是连续?如果是连续的,那么如何将其重新配置为并行工作
  • 这种混淆是多线程的(对于每个方法)还是不多线程的(如果不是的话,如何更改)

它在后台使用java Executor api。 你需要知道的一切都可以在

基本上,您可以选择TaskExecutor实现,然后设置所需的处理线程数

在您的示例中,这3种方法将以5秒的固定延迟连续执行。但是,如果您只定义了一个处理线程,并且一个方法需要很长时间,那么其他两个方法的执行就会延迟。 若您不想依赖于使用@Scheduled执行的其他函数,则在本例中需要3个处理线程