/** * 创建人:LYY * 创建时间:2022/4/28 * 多线程创建方式三: * 1. 实现Callable接口 * 2. 重写call方法 * 3. 调用时创建future 将callable接口对象传递给构造器 * 4 创建新线程(Thread) 将future对象传递给构造器 * 5 启动线程方法 * 6 future对象.get()方法获取callable接口call方法返回值 */public class CallableThree implements Callable { @Override public Object call() throws Exception { int sum = 0; for (int i = 0; i < 100; i++) { sum += i; } return sum; }}class CallableThreeTest{ public static void main(String[] args) { // 创建callable接口实现类对象 CallableThree callableThree = new CallableThree(); // 创建future接口类实现对象 将callable接口对象传递过去 FutureTask futureTask = new FutureTask(callableThree); // 创建新线程 并执行 Thread thread = new Thread(futureTask); thread.start(); // 获取callable线程方法中的返回值 try { int sum = (int) futureTask.get(); System.out.println("1-100之和=" + sum); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }}