线程池

public static ExecutorService taskExecutor = Executors.newFixedThreadPool(5);
public static ExecutorService taskExecutor = new ThreadPoolExecutor(2, 5,
60L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());

 <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
 <!-- 核心线程数 ${task.core_pool_size}-->
 <property name="corePoolSize" value="5" />
<!-- 最大线程数${task.max_pool_size}-->
 <property name="maxPoolSize" value="10" />
<!-- 队列最大长度 ${task.queue_capacity}-->
 <property name="queueCapacity" value="20" />
 <!-- 线程池维护线程所允许的空闲时间,默认为60s ${task.keep_alive_seconds}-->
 <property name="keepAliveSeconds" value="60" />
</bean>

 

线程池的类型
1.CachedThreadPool
适合使用在任务量 大但耗时少的任务。

2.FixedThreadPool
适合使用在任务量比 较固定但耗时长的任务。

3.ScheduledThreadPool
适合使用在执行 定时任务和具体固定周期的重复任务。

4.SingleThreadPool
适合使用在多个任务 顺序执行的场景。

5.newWorkStealingPool
适合使用在很耗 时的任务中。

posted on 2023-03-23 10:45  四海骄阳  阅读(15)  评论(0编辑  收藏  举报

导航