线程池以及四种常见线程池

朱雀 2021-04-17 17:41 789阅读 0赞

线程池以及四种常见线程池

四种常见的线程池:

  • Executors.newCachedThreadPool()

    1. new ThreadPoolExecutor(0, Integer.MAX_VALUE,
    2. 60L, TimeUnit.SECONDS,
    3. new SynchronousQueue<Runnable>())
  • Executors.newFixedThreadPool(int nThreads)

    1. new ThreadPoolExecutor(nThreads, nThreads,
    2. 0L, TimeUnit.MILLISECONDS,
    3. new LinkedBlockingQueue<Runnable>())
  • Executors.newScheduledThreadPool(int nCorepoolSize)

    1. public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) {
    2. return new ScheduledThreadPoolExecutor(corePoolSize);
    3. }
    4. //ScheduledThreadPoolExecutor():
    5. public ScheduledThreadPoolExecutor(int corePoolSize) {
    6. super(corePoolSize, Integer.MAX_VALUE,
    7. DEFAULT_KEEPALIVE_MILLIS, MILLISECONDS,
    8. new DelayedWorkQueue());
    9. }
  • Executors.newSingleThreadPool()

    1. public static ExecutorService newSingleThreadExecutor() {
    2. return new FinalizableDelegatedExecutorService
    3. (new ThreadPoolExecutor(1, 1,
    4. 0L, TimeUnit.MILLISECONDS,
    5. new LinkedBlockingQueue<Runnable>()));
    6. }

发表评论

表情:
评论列表 (有 0 条评论,789人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线

    先了解一下线程池的作用: 重用现有的线程,而不是创建新的线程,可以减少开销,因为线程在创建和销毁会有巨大的开销。当请求到达时,工作线程通常是已经存在的,因此不会由于等待创建

    相关 Java线

    Java线程池为我们提供了很好的线程容器,当我们需要用到多线程,并要对此进行有效管理的时候我们需要用到线程池。 使用场景: 1、单任务处理时长较短 2、需处理任务数量