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";
    }
}
posted @ 2021-10-10 14:49  酥炸小黄瓜  阅读(103)  评论(0)    收藏  举报