29 lines
1.1 KiB
Java
29 lines
1.1 KiB
Java
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());
|
||
}
|
||
}
|