哈喽
1 public class CallableTest { 2 3 public static void main(String[] args) throws ExecutionException, InterruptedException { 4 //第一个线程----------------------------- 5 //1、创建 Callable 实现类的实例 6 MyCallable myCallable1 = new MyCallable(); 7 //2、使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。 8 FutureTask<String> task = new FutureTask<>(myCallable1); 9 //3、使用 FutureTask 对象作为 Thread 对象的 target 创建并启动新线程。 10 Thread thread1 = new Thread(task); 11 thread1.start(); 12 //4、调用 FutureTask 对象的 get() 方法来获得子线程执行结束后的返回值。 13 String s = task.get(); 14 System.out.println(s); 15 16 //第二个线程----------------------------- 17 //1、创建 Callable 实现类的实例 18 MyCallable myCallable2 = new MyCallable(); 19 //2、使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。 20 FutureTask<String> task2 = new FutureTask<>(myCallable2); 21 //3、使用 FutureTask 对象作为 Thread 对象的 target 创建并启动新线程。 22 Thread thread2 = new Thread(task2); 23 thread2.start(); 24 //4、调用 FutureTask 对象的 get() 方法来获得子线程执行结束后的返回值。 25 String s2 = task2.get(); 26 System.out.println(s2); 27 } 28 29 }