Files
javaSE-0113/javaSE-day06/src/com/inmind/thread_pool10/Demo13.java

29 lines
1.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.inmind.thread_pool10;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/*
学习任务线程池处理Callable任务
提交Callable任务的API
<T> Future<T> submit(Callable<T> task) 提交值返回任务以执行并返回代表任务待处理结果的Future。
注意有返回的子线程操作它的返回值会封装在Future中通过get方法来获取
*/
public class Demo13 {
public static void main(String[] args) throws ExecutionException, InterruptedException {
//创建线程池
ExecutorService threadPool = Executors.newFixedThreadPool(5);
Future<Integer> future1 = threadPool.submit(new MyCallable(5));
Future<Integer> future2 = threadPool.submit(new MyCallable(3));
Future<Integer> future3 = threadPool.submit(new MyCallable(10));
System.out.println("任务1返回的结果为"+future1.get());
System.out.println("任务2返回的结果为"+future2.get());
System.out.println("任务3返回的结果为"+future3.get());
}
}