异步任务Future
前言
通过Runable和Thread, 无法获取子线程的运行结果。需要获取异步执行后的任务可以通过Future+Executors实现。
1.如何使用
1.1 步骤
1)通过Executors类去创建一个线程池
2)创建Task, 实现Callable接口。 重写call()方法去实现任务
3)通过Executors.submit()去创建子线程去执行任务。
4)executorService.shutdown() 停止线程池
5)futrue.get() 获取结果
1.2 demo
代码如下(示例):
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class FutureDemo{
public static void main(String[] args) throws Exception {
//1)
ExecutorService executorService = Executors.newCachedThreadPool();
//2)
Callable<String> task = new Callable<