JUC编程(三)-Callable

五.Callable接口

Callable接口类似于Runnable,不同的是Callable可以返回执行结果并且可以抛出异常,其实现方法为call()

可以使用FutureTask包装Callable对象,然后创建Thread将futuretask作为参数传递并调用start()执行。

public class Call {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        CallT callT = new CallT();
        FutureTask futureTask = new FutureTask(callT);
        new Thread(futureTask).start();
        // 结果会被缓存
        String str = (String) futureTask.get();
        // 获取返回值,可能会产生阻塞
        System.out.println(str);
    }
}

class CallT implements Callable {

    @Override
    public String call() throws Exception {
        System.out.println("test");
        return "return";
    }
}
上一篇:【AI视野·今日NLP 自然语言处理论文速览 第十九期】Mon, 5 Jul 2021


下一篇:【AI视野·今日CV 计算机视觉论文速览 第231期】Mon, 5 Jul 2021