• 利用线程池计算和


    通过线程池中的线程对象,使用Callable接口完成两个数求和操作

    1、l Future接口:用来记录线程任务执行完毕后产生的结果。线程池创建与使用

    2、n V get() 获取Future对象中封装的数据结果

    用线程池计算1..100,1...200的和

    package com.oracle.demo05;
    
    import java.util.concurrent.Callable;
    
    public class MyCall implements Callable<Integer> {
        private int num1;
        private int num2;
    
        public MyCall(){}
                public MyCall(int num1,int num2){
                            this.num1=num1;
                            this.num2=num2;
    
                            }
    
    
        @Override
        public Integer call() throws Exception {
            int sum=0;
            for(int i=num1;i<=num2;i++){
            sum+=i;
            }
            return sum;
        }
    
    }
    package com.oracle.demo05;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    public class demo01 {
    //    用线程池计算1..100,1...200的和
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            ExecutorService es=Executors.newFixedThreadPool(2);
            MyCall mc1=new MyCall(50,100);
            MyCall mc2=new MyCall(44,200);
    //        让线程池自主选择一条线程执行线程任务
            Future<Integer>    f1=es.submit(mc1);
            Future<Integer>    f2=es.submit(mc2);
    //        获取线程任务返回值
            int sum1=f1.get();
            int sum2=f2.get();
    System.out.println(sum1);
    System.out.println(sum2);
    
    
        }
    
    }
  • 相关阅读:
    Scala学习笔记(四)—— 数组
    Scala学习笔记(三)—— 方法和函数
    Scala学习笔记(二)——Scala基础
    Scala学习笔记(一)
    HDFS和GFS对比学习
    HDFS原理学习
    c++日历问题
    Mapreduce学习
    c++动态规划解决数塔问题
    C++——数码管
  • 原文地址:https://www.cnblogs.com/-lwl/p/11101025.html
Copyright © 2020-2023  润新知