JavaSpringThreadPoolExecutoryFactoryBean

JavaSpringThreadPoolExecutoryFactoryBean,java,multithreading,spring,pool,Java,Multithreading,Spring,Pool,如果我将ThreadPoolExecutoryBean配置为maxPoolSize=1,那么executor总是有一个线程,如果我运行两个或更多线程,spring会创建一些队列,或者下一次调用将等待上一次? 谢谢。如果maxPoolSize为1,则同一时间只运行一个线程,因此同一时间只执行一个任务。但是,有一个队列,因此任何未立即执行的任务都将在线程可用时异步执行 因此,当您有一个maxPoolSize为1的ThreadPoolExecutor时,以下代码将立即返回 executor.execu

如果我将ThreadPoolExecutoryBean配置为maxPoolSize=1,那么executor总是有一个线程,如果我运行两个或更多线程,spring会创建一些队列,或者下一次调用将等待上一次?
谢谢。

如果maxPoolSize为1,则同一时间只运行一个线程,因此同一时间只执行一个任务。但是,有一个队列,因此任何未立即执行的任务都将在线程可用时异步执行

因此,当您有一个maxPoolSize为1的ThreadPoolExecutor时,以下代码将立即返回

executor.execute(runnable1);
executor.execute(runnable2);
runnable1将首先在线程中执行,一旦完成,将执行runnable2