线程池
池化思想:线程池、字符串常量池、数据库连接池
提高资源的利用率
- 手动创建对象
- 执行任务
- 执行完毕,释放线程对象
线程池的优点:
- 提高线程的利用率
- 提高程序的响应速度
- 便于统一管理线程对象
- 可以控制最大并发数
1 | ExecutorService executorService = new ThreadPoolExecutor(3, 3, 1L, TimeUnit.SECONDS, new ArrayBlockingQueue<>(3), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); |
线程和线程池的区别
实现多线程的方式
实际上只有1种
线程复用
线程池参数
corePoolSize
核心线程数
maximunPoolSize
非核心线程数
keepAliveTime
时间
unit
时间单位
blockingQueue
队列
threadFactory
线程工厂
rejectedExecutionHandler
拒绝策略