线程池

线程池

简介

线程池是一种基于池化思想的线程管理工具。

优点

  • 降低资源消耗
  • 提高响应速度
  • 提高线程的可管理性
  • 提供可扩展性

使用场景

  • 连接池
  • 线程隔离
  • 开发中需要创建5个以上的线程就可以考虑使用线程池

线程池核心参数

参数名 类型 含义
corePoolSize int 核心线程数
maxPoolSize int 最大线程数
keepAliveTime long 保持存活时间
workQueue BlockingQueue 任务存储队列
threadFactory ThreadFactory 线程池创建新线程的线程工厂类
Handler RejectExecutionHandler 线程无法接收任务时的拒绝策略

原理

提交任务处理流程图

flowchart TD A[提交任务] --> B{&lt=corePoolSize} B -->|是| C{任务队列是否已满} B -->|否| B1(创建核心线程并执行任务) C -->|是| D{>maxPoolSize} C -->|否| C1(添加任务到队列) D -->|是| E(按照拒绝策略处理无法执行的任务) D -->|否| D1(创建线程并执行任务)
posted @ 2023-06-27 23:04  AlenYang  阅读(52)  评论(0编辑  收藏  举报