corePoolSize:核心线程数;maximunPoolSize:最大线程数 每当有新的任务到线程池时, 第一步:先判断线程池中当前线程数量是否达到了corePoolSize,若未达到,则新建线程运行此任务,且任务结束后将该线程保留在线程池中,不做销毁处理,若当前线程数量已达到corePoolSize,则进入下一步; 第二步:判断工作队列(workQueue)是否...
Java线程池的参数分为核心线程数、最大线程数、线程空闲时间、任务队列等。其中,核心线程数表示线程池中常驻的线程数量,最大线程数表示线程池中最多能创建的线程数量。应根据具体应用场景合理设置这两个参数,通常应根据CPU核心数和各个任务的处理时长来考虑。如果CPU核心数较多而任务处理时长较短,则可以适当增大核心...
线程池合理设置最⼤线程数和核⼼线程数 ⼯作中有这样⼀个场景,需要处理千万级别的数据的⼀个算法,⼤部分是增删查的操作。这个时候就需要使⽤多线程去处理。⼀开始是这么配置的 @Configuration @EnableAsync(proxyTargetClass = true)//利⽤@EnableAsync注解开启异步任务⽀持 @ComponentScan({"com.ctf...
taskExecutor.setCorePoolSize(10);//核心线程大小taskExecutor.setMaxPoolSize(20);//最大线程大小taskExecutor.setQueueCapacity(500);//队列最大容量//当提交的任务个数大于QueueCapacity,就需要设置该参数,但spring提供的都不太满足业务场景,可以自定义一个,也可以注意不要超过QueueCapacity即可taskExecutor.setRejecte...