zoukankan      html  css  js  c++  java
  • 使用线程池实现、线程进行异步计算

    线程类,执行的任务:

    package com.yonyou.sci.gateway.exec;
    
    import java.util.concurrent.Callable;
    
    public class CallableTask<I extends Number> implements Callable<Integer> {
    
        private Integer num;
    
        public CallableTask () {}
    
        // 使用构造方式接收参数
        public CallableTask(Integer num){
            this.num = num;
        }
    
        @Override
        public Integer call () {
            Integer count = 0;
             for (int i = 1; i <= num;i++) {
                 // 根据传入的参数,迭代相加
                 count = count + i;
             }
            return count;
        }
    
    }

    使用线程池方式执行上面的任务:

    package com.yonyou.sci.gateway.exec;
    
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    /**
     * 使用线程池实现并行计算
     */
    public class TaskMain {
        public static void main (String[] args) throws Exception{
            // 创建一个固定长度线程池
            ExecutorService es = Executors.newFixedThreadPool(2);
    
            // 使用线程池方式、执行线程子类
            Future<Integer> r1 = es.submit(new CallableTask<Integer>(100));
            Future<Integer> r2 = es.submit(new CallableTask<Integer>(200));
    
            // 获取到计算的结果并打印出来
            System.out.println(r1.get());
            System.out.println(r2.get());
    
            // 关闭线程池
            es.shutdown();
    
        }
    
    }
  • 相关阅读:
    Json 格式 不能加注释
    优雅是的使用Lambda .map函数
    Tomcat-redis-solr-zookeeper启动命令
    今日静态页面集成
    JMS
    freemarker模板引擎技术
    vscode----vue模板--用户代码片段--快捷
    js求总页数:总条数,每页条数
    新建vue项目
    大数据可视化之---echarts地图组件
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/11723523.html
Copyright © 2011-2022 走看看