赞
踩
-
- public static void main(String[] args) {
- ExecutorService exec = Executors.newFixedThreadPool(5);
-
- List<Future> fuList = new ArrayList<Future>();
- for (int i = 0; i < 10; i++) {
- int a = i;
- Future<String> f = null;
- f = exec.submit(new Callable<String>() {
- @Override
- public String call() throws Exception {
- System.out.println("线程:【" + a +"】开始执行");
-
- Thread.sleep(1000*a);
- return a + "返回值";
- }
- });
- if (f != null) {
- // f对象会直接放到fuList中,不用担心f为空
- System.out.println("线程:【" + a +"】执行结束");
- fuList.add(f);
- }
- }
-
- try{
- System.out.println("fuList:"+ fuList.size());
-
- for (Future<String> f : fuList) {
- if(f!=null){
- // f.get获取每个线程的执行结果,单线程获取
- System.out.println("线程执行结果:" + f.get());
- }
- }
- System.out.println("isTerminated:" + exec.isTerminated());
- }catch (Exception e){
-
- }finally {
- // 关闭线程池
- exec.shutdown();
- }
- }
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。