• 技术文章 >java >java基础

    Java Executors中的四种线程池

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

    1、线程池说明

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

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

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

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

    2、实例

    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学习网