zoukankan      html  css  js  c++  java
  • 线程池

    1,线程池优点:

    ①降低资源消耗,复用已创建的线程,减少线程的创建与销毁。

    ②提高响应速度,当任务到达时,直接用已创建的线程。

    ③提高线程的可管理性,控制并发量。

     

    2,ThreadPoolExecutor类源码:

    • 参数:5个必须参数:

    corePoolSize:核心线程池数量

    maximumPoolSize:线程池最大数量,

    keepAliveTime:非核心线程存活时间

    unit:keepAliveTime的单位,

    workQueue:阻塞队列,BlockingQueue

    2个非必须参数:

    threadFactory:线程工厂,用于创建默认线程

    handler:拒绝策略。

    • 拒绝策略:

    AbortPolicy                     默认拒绝策略,丢弃任务并抛出异常

    DiscardPolicy                 直接丢弃任务,不抛出异常(什么都不做)

    DiscardOldestPolicy       丢弃阻塞队列(头部),最先入队的任务,然后重新提交任务

    CallerRunsPolicy            由调用线程处理该任务,不进线程池。

    • 处理流程:

    ①核心线程池满?

    ②等待队列满?

    ③非核心线程池满?

    ④拒绝策略

     参考:

    https://javadoop.com/post/java-thread-pool

    线程池原理

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    Redis持久化
    Redis数据淘汰策略
    Redis事务
    Redis发布订阅
    WPS生成多级编号
    VMware 网络介绍
    3、Linux目录操作
    2、Shell命令学习笔记
    2、线程的状态和调度学习笔记
    1、Linux安装前的准备
  • 原文地址:https://www.cnblogs.com/wangpan8721/p/13800600.html
Copyright © 2011-2022 走看看