ListenableFuture demo
2016-03-10 16:05
316 查看
import java.util.Arrays; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executors; import com.google.common.collect.Lists; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array; public class ListenableFutureTest2 { public static void main(String[] args) throws InterruptedException, ExecutionException { ListeningExecutorService executor = MoreExecutors .listeningDecorator(Executors.newFixedThreadPool(1)); final ListenableFuture<String> future = executor .submit(new Callable<String>() { public String call() throws Exception { return "Hello listenable future"; } }); final ListenableFuture<String> future2 = executor .submit(new Callable<String>() { public String call() throws Exception { Thread.sleep(10000); return "Hello listenable future2"; } }); List<ListenableFuture<String>> futures = Lists.newArrayList(); futures.add(future); futures.add(future2); ListenableFuture<List<String>> futureAll = Futures .successfulAsList(futures); System.out.println(Arrays.toString(futureAll.get().toArray())); System.out.println("exit.."); } }
相关文章推荐
- Axure RP
- 异步调用流程图
- linux命令行抓取网页快照-(xvfb+CutyCapt)
- URl传递中文乱码
- Jedis分片连接池(分布式)
- lucene4.7 之排序(四)
- OSI七层与TCP/IP五层网络架构详解
- js 优化
- Spring Security
- 基于Jedis实现Redis分片的理解
- ElasticSearch:版本冲突处理(事务控制)
- Spark Streaming的数据可靠性和一致性
- NStruts
- Storm Akka Finagle对比及使用场景分析
- unterminated string literal
- hg 全局密码配置。
- 有趣的代码一
- Jenkins入门系列之——02第二章 Jenkins安装与配置
- 使用MyBatis Generator生成xml,Mapper
- java.io.IOException: Negative seek offset