- 浏览: 66684 次
文章分类
最新评论
-
小灯笼:
ZooKeeper分布式专题与Dubbo微服务入门网盘地址:h ...
dubbo+zookeeper构建高可用分布式集群 -
qingfengxiu1985:
有没有全部工程代码?发一个呗,邮箱:qingfengxiu19 ...
mongodb+spring +morphia完整版框架搭建
package com.downjoy.test.guava.concurrency; import com.downjoy.test.guava.GuavaBase; import com.google.common.util.concurrent.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** * DESCRIPTION. * * @author Jonathan L.(xingbing.lai@downjoy.com) * @version 1.0.0 -- Datetime: 16-8-25 上午10:27 */ public class ListenableFutureTest extends GuavaBase { public static void main(String[] args) throws InterruptedException { final ExecutorService pool = Executors.newFixedThreadPool(10); // // JDK // Future<String> future = pool.submit(new Callable<String>() { // public String call() throws Exception { // return "D.CN"; // } // }); // // try { // String name = future.get(); // print(name); // } catch (Exception e) { // e.printStackTrace(); // } // Guava ListeningExecutorService executorService = MoreExecutors.listeningDecorator(pool); ListenableFuture futureTask = executorService.submit(new Callable() { @Override public Object call() throws Exception { return "D.CN"; } }); // // 运行监控,可以不加 // futureTask.addListener(new Runnable() { // @Override // public void run() { // print("Game Over !!!"); // } // }, executorService); FutureCallbackImpl callback = new FutureCallbackImpl(); Futures.addCallback(futureTask, callback); print(callback.getCallbackResult()); Thread.sleep(2000); pool.shutdown(); } private static class FutureCallbackImpl implements FutureCallback<String> { StringBuilder builder = new StringBuilder("结果加点东西>>>"); @Override public void onSuccess(String result) { print("success:" + result); builder.append(result); } @Override public void onFailure(Throwable t) { print("failure:" + t.getMessage()); } public String getCallbackResult(){ return builder.toString(); } } }
参考:http://ifeve.com/google-guava-listenablefuture/
发表评论
-
Java 设计模式源码
2020-08-17 20:17 141经过一段时间学习和实践,整理了绝大多数设计模式源码demo 。 ... -
mac ngrok 使用
2018-12-20 18:22 872ngrok 是一个反向代理,通过在公共端点和本 ... -
Java元组学习
2018-12-19 15:38 619在Java 中我们平时用的接口和方法 只是单一 ... -
密码学2 密码安全注意
2018-11-30 15:11 6011.Java API支持 位于java.security包及子 ... -
base64 和 base32 源码解析
2018-11-30 14:19 1483package com.zd.demo; import ... -
maven 常用命令
2018-01-22 14:43 364mvn compile 编译源代码 mvn test-comp ... -
上传excel 通过url下载文件
2017-07-06 16:22 1057/** * 下载图片 */ ... -
多线程实现原理并发机制
2017-03-07 20:29 819进程: 查询百度大致可以理解为一段具有独 ... -
网络编程TCP/IP协议组
2017-03-04 13:42 556TCP/IP是个协议组: 主要可以分为4层,分别是应 ... -
spring+guava事件异步分发处理
2016-10-09 09:56 4370Guava是Google开源的一个Java基础类库,它在Goo ... -
httpUtil工具和apche httpclient 工具类使用
2016-09-26 15:38 2407httpUtil请求网络请求工具: package demo ... -
mongodb+spring +morphia完整版框架搭建
2016-09-09 10:22 5716Morphia是一个开放源代 ... -
mongodb注解详解
2016-09-06 09:26 40541、@Entity 如果你想通过Morphia把你的对 ... -
自定义MD5加盐加密方式代码实现
2016-09-02 16:45 5061按照自己的理解对密码加盐加密。当用户注册时候会先生成盐值 ... -
密码学
2016-08-25 11:14 5711 密码学简介 2.1 ... -
kafka
2016-08-11 14:08 718Kafka is a distributed,partiti ... -
dubbo+zookeeper构建高可用分布式集群
2016-08-24 09:47 4962(1) 当服务越来越多时, ... -
java生产6为邀请码
2016-08-09 17:23 1957package demo.dcn.vo; import ... -
jxl
2016-08-09 14:30 496Java生成和操作Excel文件 package dem ... -
UUID
2016-08-05 17:58 325UUID含义是通用唯一识别码 (Universally Uni ...
相关推荐
《深入解析Guava 22.0源代码》 Guava是谷歌提供的一个Java核心类库,它在Java社区中有着广泛的应用,特别是在大型项目和复杂系统中。Guava 22.0版本是对该库的一次重大更新,对原有功能进行了优化,同时也引入了...
《深入解析Guava库:基于guava-19.0-src源码分析》 Guava是Google开源的一个Java库,其版本号为19.0的源码为我们提供了深入了解这个强大工具集的机会。Guava提供了许多核心库的功能,包括集合、缓存、原生类型支持...
《Guava API 16/17/18 深度解析》 Guava是Google推出的一个Java库,它包含一系列高效的、经过充分测试的、用于解决常见编程问题的工具类。Guava API 16/17/18版本的发布,为开发者提供了更加丰富和强大的功能。本文...
以下是对Guava库中主要特性和功能的详细解析。 一、集合框架扩展 Guava提供了丰富的集合类扩展,如Multiset(多集,允许元素重复并记录出现次数)、Multimap(多映射,一个键可以对应多个值)、Immutable集合(不...
Java提供了线程池(`java.util.concurrent.ExecutorService`)来管理和调度任务,或者使用第三方库如Apache Commons Pool或Guava的`ListenableFuture`。 6. **延迟加载与JavaScript执行**: 许多现代网站使用...
Java 8引入的CompletableFuture或第三方库如Guava的ListenableFuture可以实现这一点。 二、Java爬虫核心组件 1. **URL管理器**:用于存储已访问和待访问的URL,防止重复抓取,同时控制抓取深度。 2. **下载器**:...
5. **线程并发库**:如`Guava`中的`ListenableFuture`或`CompletableFuture`,它们提供了高级的并发操作,帮助开发者编写更高效的多线程代码。 6. **缓存库**:例如`Ehcache`或`Redis`客户端,可以提高数据访问速度...
本文将深入探讨Guava的核心概念和功能,并结合中文注释进行解析。 1. **集合框架**:Guava扩展了Java的集合框架,提供了如Multiset(多集)、Multimap(多映射)、ImmutableList(不可变列表)、ImmutableSet(不可...
- **Google Guava ListeningExecutorService**: Google提供的高级多线程工具包,简化了异步任务的处理流程。 4. **Maven项目管理** - **作用**:Maven是一个项目管理和综合工具,可以自动化构建项目,管理依赖...
Google的异步库,如Guava的ListenableFuture或者Android的AsyncTask,提供了异步编程的支持。在队列操作中,异步处理可以提高系统性能,尤其是在处理大量数据或者I/O密集型操作时。通过异步插入或删除队列元素,主线...