zoukankan      html  css  js  c++  java
  • 线程池的创建

    package com.newer.cn;
    
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class Test1 {
    
        public static void main(String[] args) {
            // 创建线程池的方式
            
            // 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程,在需要时使用提供的 ThreadFactory 创建新线程。
            ExecutorService pool = Executors.newFixedThreadPool(5);
            
            // 创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。
            ExecutorService pool1 = Executors.newSingleThreadExecutor();
            
            // 创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。
            ExecutorService pool2 = Executors.newCachedThreadPool();
            
            //创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。
            ExecutorService pool3 = Executors.newScheduledThreadPool(3);
    
        }
    
    }

    举个例子

    package com.newer.cn;
    
    public class Demo implements Runnable {
    
        @Override
        public void run() {
            String name = Thread.currentThread().getName();
            System.out.println("执行当前线程的是:"+name);
            for(int i = 1;i <= 10;i++){
                System.out.println(name+":"+i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            System.out.println("执行任务完毕");
    
        }
    
    }
    package com.newer.cn;
    
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
             ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); 
             for(int i = 1;i <= 5;i++){
                 Demo demo = new Demo();
                 cachedThreadPool.execute(demo);
             }
            
    
        }
    
    }
  • 相关阅读:
    Python基础数据类型二
    集合
    SourceInsight打开的工程中中文字体显示乱码的问题
    3、U-boot的环境变量: bootcmd 和bootargs
    2、qq物联环境搭建
    FTP、SSH、NFS等环境工具的安装
    1、基本概念介绍
    7、从系统角度考虑电源管理,我们要学习更多
    6、修改应用程序数码相框以支持自动关闭LCD
    5、regulator系统的概念及测试
  • 原文地址:https://www.cnblogs.com/lujing-newer/p/6607828.html
Copyright © 2011-2022 走看看