zoukankan      html  css  js  c++  java
  • java Callable接口线程返回参数

    package com.qd.thread.callable;
    
    import java.util.concurrent.Callable;
    
    /**
     * Created by chenlongbo on 2017/4/24.
     */
    public class TaskWithResult implements Callable<String>{
        private int id;
    
        public TaskWithResult(int id){
            this.id = id;
        }
    
        public String call() throws Exception {
            return " result of TaskWithResult : "+id;
        }
    }
    package com.qd.thread.callable;
    
    import java.util.ArrayList;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    /**
     * Created by chenlongbo on 2017/4/24.
     */
    public class CallableDemo {
        public static void main(String[] args) {
            ExecutorService exec = Executors.newCachedThreadPool();
            ArrayList<Future<String>> futures = new ArrayList<Future<String>>();
            for (int i = 0; i < 10; i++) {
                futures.add(exec.submit(new TaskWithResult(i)));
            }
    
            for(Future<String> fs:futures){
                try {
                    System.out.println(fs.get());
                } catch (InterruptedException e) {
                    System.out.println(e);
                    e.printStackTrace();
                    return;
                } catch (ExecutionException e) {
                    System.out.println(e);
                    e.printStackTrace();
                }finally {
                    exec.shutdown();
                }
            }
        }
    }
  • 相关阅读:
    安装Docker-Compose
    Docker微容器Alpine Linux
    Linux 常用命令
    如何定制博客园的个人空间
    Elasticsearch入门之从零开始安装ik分词器
    Elasticsearch入门实践
    写在2017年的总结
    开源ETL工具之Kettle介绍
    常用Java数据库连接池
    细说shiro之七:缓存
  • 原文地址:https://www.cnblogs.com/cbySense/p/6909826.html
Copyright © 2011-2022 走看看