• 技术文章 >java >java基础

    Java Executors中的四种线程池

    小妮浅浅小妮浅浅2021-04-28 17:10:49原创4465

    1、线程池说明

    newCachedThreadPool创建缓存线程池,如果线程池的长度超过处理需要,则可以灵活回收空闲线程,如果不能回收,则可以创建新的线程。

    newFixedThreadPool创建一个定长的线程池,可以控制线程的并发数,超过的线程在队列中等待。

    newScheduledThreadPool建立固定长线程池,支持定时和周期任务的执行。

    newSingleThreadExecutor创建一个单线程化的线程池,只能用唯一的工作线程执行任务,保证所有任务按指定顺序执行。

    2、实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    class ThreadDemo extends Thread {

      

        @Override

      

        public void run() {

      

            System.out.println(Thread.currentThread().getName() + "正在执行");

      

        }

      

    }

      

    class TestFixedThreadPool {

      

            public static void main(String[] args) {

      

            //创建一个可重用固定线程数的线程池

      

            ExecutorService pool = Executors.newFixedThreadPool(2);

      

            //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口

      

            Thread t1 = new ThreadDemo();

      

            Thread t2 = new ThreadDemo();

      

            Thread t3 = new ThreadDemo();

      

            Thread t4 = new ThreadDemo();

      

            Thread t5 = new ThreadDemo();

      

            //将线程放入池中进行执行

      

            pool.execute(t1);

      

            pool.execute(t2);

      

            pool.execute(t3);

      

            pool.execute(t4);

      

            pool.execute(t5);

      

            //关闭线程池

      

            pool.shutdown();

      

            }

      

            }

    以上就是Java Executors中的四种线程池,希望对大家有所帮助。更多Java学习指路:Java基础

    专题推荐:java executors
    上一篇:Java守护线程和用户线程的区别 下一篇:Java runnable和callable的异同

    相关文章推荐

    • java内置函数式接口有哪些?• java8中注解的多种用法• java之JDK注解的介绍• java中@SuppressWarnings是什么意思• java对象分配内存的两种类型• java switch语句的执行过程• java类中的两种成员访问• java this关键字的使用注意• java ThreadLocal的创建和访问• java如何在表格添加水印• java类加载器的常用方法• Java序列化是什么• Java反序列化如何理解• java单例中的饱汉模式实现• java单例中饿汉模式的使用• java懒汉和饿汉模式的区别• java单例模式中的Holder是什么• java枚举类型的原理

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网