创建一个线程池有哪些核心参数

参考答案

线程池的核心参数:

线程池中很多的参数,了解这些参数,对实际问题的定义和解决是非常重要的。

1.  corePoolSize

核心线程数,即就是中线程池中长时间稳定存活的线程数。

2. maxPoolSize

最大线程数,重点强调线程中最大可包含的线程数。最大线程数的上限需要根据实际情况而定。

3. keepAliveTime

线程的存活时间,该参数是指非核心线程的存活时间,用来严格控制线程池中线程的数量尽可能的保持在一定的范围内,若要修改核心线程的存活时长,可参考相关参数。

4.ThreadFactory

线程创建的工厂,新的线程都是由ThreadFactory创建的,系统默认使用的是Executors.defaultThreadFactory创建的,用它创建出来的线程的优先级、组等都是一样的,并且他都不是守护线程。我们也可以使用自定义的线程创建工厂,并对相关的值进行修改。

5.WorkQueue

线程的工作队列,常见的类型有三种:

  • 直接交换:SynchronousQueue,任务不多,是没有容量的,maxPoolSize需要大一点;
  • 无界队列:LinkedBlockingQueue,可产生OOM;
  • 有界队列:ArrayBlockingQueue。

以上,是Java面试题【创建一个线程池有哪些核心参数】的参考答案。

 

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧