天天看点

吃透Java并发十八:线程池之Future

一、Future简介

Future主要作用就是异步地执行任务,并在需要的时候获取结果。我们知道,一般调用一个函数,需要等待函数执行完成,调用线程才会继续往下执行,如果是一些计算密集型任务,需要等待的时间可能就会比较长。而Future可以让调用方立即返回,然后它自己会在后面慢慢处理,此时调用者拿到的仅仅是一个凭证,调用者可以先去处理其它任务,在真正需要用到调用结果的场合,再使用凭证去获取调用结果。这个凭证就是这里的Future。

首先来思考下,我们需要执行的是一个任务,那么在Java中,一般需要实现Runnable接口,比如像下面这样:

public class Task implements Runnable {
   
    @Override
    public void run(
           

继续阅读