zoukankan      html  css  js  c++  java
  • 并发实现-Callable/Future 实现返回值控制的线程

    package chartone;
    
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    /**
     * 并发实现-Callable/Future 实现返回值控制的线程
     *
     * @author suntao
     * @history 2020-02-04 16:50 suntao 新建
     * @since JDK1.8
     */
    public class CallableDemo implements Callable<String> {
    
        public static void main(String[] args) throws Exception {
            // 创建线程池执行服务
            ExecutorService excute = Executors.newCachedThreadPool();
    
            CallableDemo cd = new CallableDemo();
    
            Future<String> fs =  excute.submit(cd);
    
            // 可以执行其他业务逻辑
            for (int i = 0; i <100 ; i++) {
                System.out.println("mianTread = [" + i + "]");
            }
    
            // 阻塞操作,只有执行完之后才会进行接下来的操作
            String result = fs.get();
            System.out.println(result);
    
            excute.shutdown();
    
        }
        @Override
        public String call() throws Exception {
            for (int i = 0; i <1000 ; i++) {
                System.out.println(i);
            }
            return "我是被调用后的返回值";
        }
    }
  • 相关阅读:
    js完成打印功能
    ajax的序列化表单提交
    SpringMVC学习记录
    拦截器学习记录
    SpringMVC的controller层的方法返回值
    Mybatis学习记录(3)
    Mybatis学习记录(2)
    Mybatis学习记录(1)
    02-操作系统必会问题
    01-“计算机网络”必会问题
  • 原文地址:https://www.cnblogs.com/xiaotao726/p/12267608.html
Copyright © 2011-2022 走看看