线程池的核心参数

  1. coresize 核心线程数
  2. maximumsize 最大线程数
  3. keepAliveTime(生存时间吗,针对救急线程)
  4. unit  时间单位(针对救急线程)
  5. runnableTaskQueue(任务队列)
  • ArrayBlockingQueue:是一个基于数组结构的有界阻塞列,此列按FIFO(先先出)原则对元素行排序。
  • LinkedBlockingQueue:一个基于构的阻塞列,此列按FIFO排序元素,吞吐量通常要高于ArrayBlockingQueue。静工厂方法Executors.newFixedThreadPool()使用了列。
  • SynchronousQueue:一个不存元素的阻塞列。每个插入操作必等到另一个线移除操作,否插入操作一直于阻塞状,吞吐量通常要高于Linked-
  • BlockingQueue,静厂方法Executors.newCachedThreadPool使用了列。
  • PriorityBlockingQueue:一个具有的无限阻塞列。

        6.threadfactory(线程工厂,起名称)

        7.handle(拒绝策略)

列和 线 程池都 了, 线 程池 和状
,那么必 采取一种策略 理提交的新任 个策略默 情况下是 AbortPolicy ,表示无法
理新任 务时 抛出异常。在 JDK 1.5 Java 线 程池框架提供了以下 4 种策略:
  • AbortPolicy:直接抛出异常。
  • CallerRunsPolicy:只用用者所在线程来运行任
  • DiscardOldestPolicy列里最近的一个任,并行当前任
  • DiscardPolicy:不理,弃掉。

maximumPoolSize - corePoolSize = 救急线程数

注意 : 救急线程在没有空闲的核心线程任务队列满了的情况才使用救急线程

猜你喜欢

转载自blog.csdn.net/m0_60264772/article/details/122776142