直接看下面的实验,注释详细:
package com.tbc.java;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
public class FutureTaskAndExecutor {
/**
* 个人对FutureTask 的理解: FutureTask从字面上可以理解为:异步任务类。 FutureTask好比一个Map,
* FutureTask 中存放的是任务和该任务结束后返回的结果。可以理解为一个键值对(任务,任务的结果)
* 当任务 加入到FutureTask的对象的时候 任务的结果此时为空,另外FutureTask的一个对象只能一次性添加一个任务。
* 这个任务可以理解为实现Callable接口的类对象,要实现Callable接口的call方法,也就是说我们可以把我们要做的操作放在call方法里。
* FutureTask中的泛型指的是 call方法的返回值的实际类型即 return sum中sum 的类型。
* FutureTask中有个get()方法,当调用该方法时,获取到的值是 call方法中返回的值&#x