1234567891011121314151617181920212223242526272829 |
- package J20250730.demo03_callable;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.Future;
- import java.util.concurrent.FutureTask;
- /**
- * @author WanJl
- * @version 1.0
- * @title Main
- * @description
- * @create 2025/7/30
- */
- public class Main {
- public static void main(String[] args) throws ExecutionException, InterruptedException {
- //3、创建实现类的对象
- Computer c=new Computer();
- //4、创建FutureTask对象,把Callable的实现类的对象作为FutureTask类的构造方法的参数
- FutureTask<Integer> ft=new FutureTask(c); // 父类的引用执行子类的对象
- //5、创建Thread类的对象,把FutureTask对象作为Thread类的构造方法的参数
- Thread t1=new Thread(ft,"线程1");
- //6、调用Thread对象的start方法,启动线程
- t1.start();
- //7、再调用Future接口的get方法(实际上就是FutureTask对象的get方法),获取线程结束后的计算结果。
- Integer sum = ft.get();
- System.out.println(sum);
- }
- }
|