FutureTask是Java的一个类,用于表示一个可能会产生结果的异步任务。它可以用于多线程编程,通常与ExecutorService一起使用。
使用FutureTask的一般步骤如下:
Callable<Integer> callable = new Callable<Integer>() {
@Override
public Integer call() throws Exception {
// 执行异步任务
return 42;
}
};
FutureTask<Integer> futureTask = new FutureTask<>(callable);
ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(futureTask);
try {
Integer result = futureTask.get();
System.out.println("异步任务的结果是:" + result);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
通过以上步骤,就可以使用FutureTask来执行异步任务并获取结果。