11-线程池的种类

1、线程池种类

1.1、newCachedThreadPool

  • 创建一个可进行缓存重复利用的线程池

1.2、newFixedThreadPool

  • 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行该线程
  • 线程池中的线程处于一定的数量,可以很好的控制线程的并发量

1.3、newSingleThreadExecutor

  • 创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程
  • 线程池中最多执行一个线程,之后提交的线程讲会排在队列中依次执行

1.4、newSingleThreadScheduleExecutor

  • 创建一个单线程执行程序
  • 它可以安排在给定延迟后执行命令或者定期执行

1.5、newScheduledThreadPool

  • 创建一个线程
  • 它可以安排在给定延迟后执行命令或者定期执行

1.6、newWorkStealingPool

  • 创建一个带并行级别的线程池
  • 并行级别决定了同一时刻最多有多少个线程在执行;如果不穿并行级别参数,讲默认为当前系统的CPU核心数×2

补充

Java线程池创建时的核心参数

  • corePoolSize

    • 核心线程池的大小
  • maximumPoolSize

    • 线程池创建线程的最大个数
  • keepAliveTime

    • 空闲线程存活时间
  • unit

    • 时间单位,为keepAliveTime指定时间单位
  • workQueue

    • 阻塞队列,用于保存任务的阻塞队列
  • threadFactory

    • 创建线程的工具类
  • handler

    • 饱和策略(拒绝策略)
posted @ 2022-08-02 14:00  OnlyOnYourself-Lzw  阅读(57)  评论(0编辑  收藏  举报