美文网首页
Executors线程池

Executors线程池

作者: MC_Honva | 来源:发表于2020-04-26 20:19 被阅读0次
  • newCacheThreadPool(缓存线程池):阻塞队列为SynchronousQueue,核心线程数0,最大线程数为

    Integer.MAX_VALUE
    

    ,非核心线程存活时间60s

  • newFixedThreadPool(定长线程池):阻塞队列为LinkedBlockingQueue,可能会导致OOM

  • newScheduledThreadPool(定长周期线程):阻塞队列为 DelayedWorkQueue

  • newSingleThreadExecutor(单线程池):阻塞队列为LinkedBlockingQueue,核心线程数和最大线程数为1

  • ThreadPoolExecutor(线程池构造类):

    处理流程:核心线程先接需求,当核心线程数满了,任务进入队列,当队列也满了,判断最大线程数是否已满,没有满就创建新线程执行任务,当最大线程数也满了就采取饱和策略

    • corePoolSize :核心线程数

    • maximumPoolSize:最大线程数

    • keepAliveTime:线程存活时间

    • TimeUnit:存活时间单位

    • BlockQueue:阻塞队列

    • ThreadPoolFactory:线程池工厂

    • handler:饱和策略。

      分别是:AbortPolicy 抛出异常(默认),DiscardPolicy丢弃,DiscardOldestPolicy丢弃队列中最老的任务当前线程交给线程池处理,CallerRunsPolicy交给调用线程池的线程处理

参考:https://juejin.im/post/5d1882b1f265da1ba84aa676

相关文章

  • Java并发 之 线程池系列 (1) 让多线程不再坑爹的线程池

    背景线程池的来由什么是线程池背景总结 用法通过Executors创建线程池Executors及其服务的类Execu...

  • ThreadPoolExcutor线程池

    Executors方法创建自带线程池 线程池不建议使用Executors去创建,而是通过ThreadPoolExe...

  • JAVA并发问题-线程池ThreadPool

    JAVA中提供的线程池 Executors工厂类 Executors工具类提供了5种线程池的创建方法 每种线程池都...

  • 线程池

    线程池 原创 无尘粉笔 粉笔社区 昨天 Java线程池的Executors的使用 Java通过Executors提...

  • Java线程池原理浅析

    一、线程池工厂Executors 我们平时在使用线程池的时候一般都是通过Executors的newXxxxxPoo...

  • ThreadPool

    Executors创建的4种线程池的使用 Java通过Executors提供四种线程池,分别为: newCache...

  • 线程池

    Java线程池包括1). 单线程池Executors.newSingleThreadExecutor();2). ...

  • 线程池学习笔记

    1、线程池的定义 2、Executors创建线程池的方式 3、ThreadPoolExecutor对象 4、线程池...

  • Java 线程池源码阅读笔记

    创建线程池 其中参数的含义为 添加任务到线程池 Executors 框架提供的方式 Executors 提供了四种...

  • Java之线程池

    1.Executors Executors提供的常用线程池:线程池的构造方法供4个,具体如下: 参数说明: a.c...

网友评论

      本文标题:Executors线程池

      本文链接:https://www.haomeiwen.com/subject/rfzjwhtx.html