• ThreadPoolExecutor线程池详解


    七个参数:

    • corePoolSize:核心池的大小,在创建了线程池后,默认情况下,线程池中并没有任何线程,而是等待有任务到来才创建线程去执行任务,当有任务来之后,就会创建一个线程去执行任务,当线程池中的线程数目达到corePoolSize后,就会把到达的任务放到缓存队列当中;
    • maximumPoolSize:线程池最大线程数;
    • keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止;
    • unit:参数keepAliveTime的时间单位(DAYS、HOURS、MINUTES、SECONDS 等);
    • workQueue:阻塞队列,用来存储等待执行的任务;

      threadFactory:线程工厂,主要用来创建线程
      • ArrayBlockingQueue (有界队列)
      • LinkedBlockingQueue (无界队列)
      • SynchronousQueue
    • handler:拒绝处理任务的策略

      • AbortPolicy:丢弃任务并抛出 RejectedExecutionException 异常。(默认这种)
      • DiscardPolicy:也是丢弃任务,但是不抛出异常
      • DiscardOldestPolicy:丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)
      • CallerRunsPolicy:由调用线程处理该任务
  • 相关阅读:
    poj 1700 Crossing River 过河问题。贪心
    Alice's Print Service
    POI 2000 ------Stripes
    Uva 1378
    hdu 3068 最长回文
    bnu Game 博弈。
    链栈的C语言实现
    链栈的C语言实现
    顺序栈C语言实现
    顺序栈C语言实现
  • 原文地址:https://www.cnblogs.com/coder-lzh/p/9418831.html
Copyright © 2020-2023  润新知