并发实现-Callable/Future 实现返回值控制的线程
Posted xiaotao726
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发实现-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 "我是被调用后的返回值"; } }
以上是关于并发实现-Callable/Future 实现返回值控制的线程的主要内容,如果未能解决你的问题,请参考以下文章
Java 并发编程——Callable+Future+FutureTask