zoukankan      html  css  js  c++  java
  • 如果你提交任务时,线程池队列已满,这时会发生什么?

    这里区分一下:

    1、如果使用的是无界队列 LinkedBlockingQueue,也就是无界队列的话,没关

    系,继续添加任务到阻塞队列中等待执行,因为 LinkedBlockingQueue 可以近乎

    认为是一个无穷大的队列,可以无限存放任务

    2、如果使用的是有界队列比如 ArrayBlockingQueue,任务首先会被添加到

    ArrayBlockingQueue 中,ArrayBlockingQueue 满了,会根据

    maximumPoolSize 的值增加线程数量,如果增加了线程数量还是处理不过来,

    ArrayBlockingQueue 继续满,那么则会使用拒绝策略

    RejectedExecutionHandler 处理满了的任务,默认是 AbortPolicy

  • 相关阅读:
    装饰器的加载顺序
    生成器
    迭代器
    有参装饰器与装饰器补充
    无参装饰器
    闭包函数
    函数对象与函数嵌套
    名称空间与作用域
    函数参数补充
    函数参数的使用
  • 原文地址:https://www.cnblogs.com/programb/p/13021272.html
Copyright © 2011-2022 走看看