Skip to content

07_Callable

Callable接口类似于Runnable,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable可以。Callable接口的call()方法可以返回一个结果,这个结果可以在FutureTask中被获取。Callable接口的使用方法:

Callable接口的使用方法:

java
package io.alex.concurrent;
public class CallableExample {
    public static void main(String[] args) {
        // 创建一个Callable对象
        Callable<Integer> callable = () -> {
            System.out.println("Callable is running...");
            return 1;
        };

        // 创建一个FutureTask对象
        FutureTask<Integer> futureTask = new FutureTask<>(callable);

        // 创建一个Thread对象
        Thread thread = new Thread(futureTask);

        // 启动线程
        thread.start();

        // 获取异步计算的结果
        Integer result = futureTask.get();
        System.out.println("result: " + result);
    }
}