美文网首页
线程池的类型和原理

线程池的类型和原理

作者: Owen270 | 来源:发表于2021-06-25 18:36 被阅读0次

参考文章:
Java线程池的四种创建方式 - 绝不妥协绝不低头 - 博客园 (cnblogs.com)
JAVA线程池原理详解一 - 冬瓜蔡 - 博客园 (cnblogs.com)

1.定长线程池

newFixedThreadPool(2)
核心线程和线程总数一样

   ExecutorService newFixedThreadPool=Executors.newFixedThreadPool(2);
        for(int j=0;j<4;j++){
            final  int index=j;
            newFixedThreadPool.execute(new MyRunnable(index));
        }

2.定长线程池,支持周期性或者定时任务。

newScheduleThreadPool
核心线程是固定的,线程总数是Integer.Max

 ScheduledExecutorService newScheduleThreadPool= Executors.newScheduledThreadPool(2);
        for(int k=0;k<4;k++){
           final  int index=k;
            //执行结果:延迟三秒之后执行,除了延迟执行之外和newFixedThreadPool基本相同,可以用来执行定时任务
            newScheduleThreadPool.schedule(new MyRunnable(index),3, TimeUnit.SECONDS);
        }

3.可缓存线程池

newCachedThreadPool
核心线程数为0,线程总数为Integer.Max

  ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();
        for(int i=0;i<4;i++) {
            final int index=i;
            newCachedThreadPool.execute(new MyRunnable(index));
        }

4.单线程池

newSingleThreadExecutor
核心线程数和线程总数都是1

  ExecutorService newSingleThreadExtutor=Executors.newSingleThreadExecutor();
        for(int l=0;l<4;l++){
            final int index=l;
            //执行结果:只存在一个线程,顺序执行
            newSingleThreadExtutor.execute(new MyRunnable(index));
        }

5.自定义线程池

    LinkedBlockingQueue  queue=new LinkedBlockingQueue();
      ThreadPoolExecutor   theadPool=new 
  ThreadPoolExecutor(2,4,10,TimeUnit.SECONDS,queue);

6.线程池原理
JAVA线程池原理详解一 - 冬瓜蔡 - 博客园 (cnblogs.com)

相关文章

  • 线程池的类型和原理

    参考文章:Java线程池的四种创建方式 - 绝不妥协绝不低头 - 博客园 (cnblogs.com)[https:...

  • 面试题2019年7月

    线程池原理 参考:Java 线程池原理分析 线程池工作原理:1、线程数量小于 corePoolSize,直接创建新...

  • 社招面试经验

    有赞: 一面:hashMap原理,put和resize过程 线程池有哪些类型, concurrentHashMap...

  • 一文搞懂Java线程池原理之ThreadPoolExecutor

    在工作中,我们经常使用线程池,但是你真的了解线程池的原理吗?同时,线程池工作原理和底层实现原理也是面试经常问的考题...

  • 线程池查漏补缺

    tomcat线程池和jdk线程池区别 概述 线程池是什么,为什么要线程池 jdk有哪些线程池和原理 第三方中间件的...

  • 源码分析AsyncTask的工作原理

    一、AsyncTask原理介绍 AsyncTask的实现原理 = 线程池+ Handler 其中:线程池用于线程调...

  • 第九章 线程池

    线程池的实现原理和使用建议。 当提交一个新任务到线程池时,线程池的处理流程如下。1)线程池判断核心线程池里的线程是...

  • Android面试Java基础篇(二)

    (一)问:Java线程池的实现原理和使用 线程池即存放和管理线程的一个池子 (1)复用线程池中的线程,避免因为线程...

  • 线程池工作机制与原理

    书接上文, Java线程池 。接下来记录一下线程池的工作机制和原理 线程池的两个核心队列: 线程等待池,即线程队列...

  • AsyncTask解析

    1.基本原理 AsyncTask的基本原理是:线程池 + Handler,内部封装了2个线程池和1个Handler...

网友评论

      本文标题:线程池的类型和原理

      本文链接:https://www.haomeiwen.com/subject/ivmoyltx.html