Java线程池七大核心参数

Java面试题

线程池七大核心参数

  1. corePoolSize:即使空闲,也要保留在池中的线程数,除非设置allowCoreThreadTimeOut
  2. maximumPoolSize:线程池中允许的最大线程数。
  3. keepAliveTime:当线程数大于核心时,多余空闲线程在终止前等待新任务的最长时间
  4. unit:keepAliveTime单位,可以是毫秒,秒,分钟,小时等。
  5. workQueue:执行任务之前用于容纳任务的队列,新任务提交后会进入到此队列中。队列类型有基于数组的有界阻塞队列ArrayBlockingQueue,基于链表的无界阻塞队列LinkedBlockingQuene,不缓存任务的阻塞队列SynchronousQueue,具有优先级的无界阻塞队列PriorityBlockingQueue共4种。
  6. threadFactory:执行器创建新线程时使用的工厂。
  7. handler:任务满时的拒绝策略。默认为AbortPolicy直接丢弃任务,并抛出异常。其他策略分别为DiscardPolicy直接丢弃任务,什么都不做;DiscardOldestPolicy抛弃队列最早的任务;CallerRunsPolicy由调用者线程去执行,如果线程池已shutdown,则直接抛弃任务。

你可能感兴趣的:(Java面试题,java,开发语言,面试)