C/C++教程

JUC编程(三)-Callable

本文主要是介绍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";
    }
}
这篇关于JUC编程(三)-Callable的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!