[JAVA]多线程之实现Callable接口

通过继承Callable方式实现的多线程可以获取线程执行后的返回值

示例代码如下:

public class Counter implements Callable<Integer> {

    @Override
    public Integer call() throws Exception {
        System.out.println("	start");
        int sum = 0;
        for (int i = 0; i < 100; i++) {
            sum += i;
        }
        Thread.sleep(4000);
        System.out.println("	end");
        return sum;
    }
}
public class MultiThreadTest {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        Counter counter = new Counter();
        FutureTask<Integer> integerFutureTask = new FutureTask<>(counter);
        new Thread(integerFutureTask).start();

        // 该方法会阻塞调用线程
        Integer integer = integerFutureTask.get();
        System.out.println(integer);
    }
}
原文地址:https://www.cnblogs.com/zhengxl5566/p/11113574.html