什么是FutureTask
FutureTask类实现了RunnableFuture接口,RunnableFuture继承了Runnable接口和Future接口,而FutureTask实现了RunnableFuture接口。所以FutureTask 既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值。
怎么用FutureTask
由介绍可知,FutureTask 既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值。两者兼得,所以我们使用FutureTask配合线程池,可以完多任务的异步的任务。如果取得call()方法返回的结果,则FutureTask应当使用get()方法,这个方法会产生阻塞,会一直等到任务执行完毕才返回。
代码如下:
import java.util.concurrent.Callable;
public class RealData implements Callable<String> {
@Override
public String call(