java并发包之线程池

简介

线程池是java中用来管理线程的工具,可以复用线程,以减小创建销毁线程的开销,同时提供了对线程灵活的控制

参数含义

1562683184(1).jpg

corePoolSize 为常驻线程数量,常驻线程在任务执行完成后会阻塞
maximunPoolSize 为线程池最大线程数,非核心线程在执行完成任务后停留一段时间后会被销毁
keepAliveTime 为非核心线程驻留时间
unit 时间单位
workQueue 任务队列
threadFactory 用于创建线程
RejectedExecutionHandler 拒绝策略

当提交一个任务时,首先会检查核心线程数量,若未满,则添加核心线程来执行,若已满,则添加到阻塞队列,若添加失败,则尝试添加线程,若任然失败,则执行拒绝策略

线程数核心线程数配置
若为IO密集型,则需要较多的线程,建议 2 * N_CORE
若为CPU密集型,建议 N_CORE + 1,对一个线程来利用IO等待CPU空出来的时钟周期

你可能感兴趣的:(java并发包之线程池)