读书人

回改任务结果

发布时间: 2012-10-09 10:21:45 作者: rapoo

回调任务结果

package com.test;import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurrent.Executor;import java.util.concurrent.ExecutorCompletionService;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;public class ThreadTest6{/** * @param args */public static void main(String[] args) throws Exception{callMethod2();}private static void callMethod1() throws InterruptedException,ExecutionException{ExecutorService pool = Executors.newCachedThreadPool();Future<String> future = pool.submit(new Callable<String>(){public String call() throws Exception{Thread.sleep(1000);return "rs";}});pool.shutdown();System.out.println(future.get());}private static void callMethod2() throws Exception{Executor executor = Executors.newCachedThreadPool();    CompletionService<Integer> service = new ExecutorCompletionService<Integer>(executor);for (int i = 0; i < 10; i++){final int temp = i;service.submit(new Callable<Integer>(){public Integer call() throws Exception{Thread.sleep(new Random().nextInt(1000));return temp;}});}((ExecutorService)executor).shutdown();for (int i = 0; i < 10; i++){System.out.println(service.take().get());}}}

读书人网 >编程

热点推荐