zoukankan      html  css  js  c++  java
  • Java线程池ExecutorService 代码备忘

    ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5)
    创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待
    package UnitTest;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    public class test {
        public static void main(String[] args) {
            int flag = 0;
            long a = System.currentTimeMillis();
            ExecutorService fixedThreadPool = Executors.newFixedThreadPool(2);
            List<Future> resultList = new ArrayList<>();
            for (int i = 1; i < 101; i++) {
                Future future = fixedThreadPool.submit(new ThreadWithRunnable(i));
                resultList.add(future);
            }
            fixedThreadPool.shutdown();
    
            for (Future fs : resultList) {
                try {
                    System.out.println(fs.get().toString());
                    flag += Integer.parseInt(fs.get().toString());
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } catch (ExecutionException e) {
                    e.printStackTrace();
                }
            }
    
            System.out.println(flag);
            System.out.println("
    <br>执行耗时 : " + (System.currentTimeMillis() - a) / 1000f + " 秒 ");
    
        }
    }
    package UnitTest;
    
    import java.util.concurrent.Callable;
    
    public class ThreadWithRunnable implements Callable {
        private int number;
        public ThreadWithRunnable(int number){
            this.number = number;
        }
    
        @Override
        public Object call() throws Exception {
            for (int i=1;i<1000;i++){
                Thread.sleep(1);
            }
            return number;
        }
    }
  • 相关阅读:
    ubuntu系统下安装最新版的MySQL
    scp本地服务器和远程服务器拷贝文件
    linux设置环境变量
    PHP程序员玩转Linux系列-lnmp环境的搭建
    nginx与负载均衡
    Linux下vim的常用命令总结
    nginx与location规则
    ssh秘钥对免密码登陆
    ubuntu下安装php pdo扩展和导入数据库
    ArrayList的删除实现
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/10383291.html
Copyright © 2011-2022 走看看