- 浏览: 799911 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
参考博客:
--java.util.concurrent 之六:使用Future类和Callable类
http://kanglecjr.iteye.com/blog/1071199
--Java.util.concurrent 包 使用Future,Callable实现抢答模式
http://blog.csdn.net/u013025830/article/details/51373482
-- Java多线程之~~~Callable接口获得返回值
http://blog.csdn.net/a352193394/article/details/39505307
--Java多线程之Callable接口的实现
http://www.cnblogs.com/baizhanshi/p/6425209.html
--Callable,Runnable比较及用法
http://www.cnblogs.com/zeze/p/6293104.html
--Java线程(七):Callable和Future
https://blog.csdn.net/ghsau/article/details/7451464
https://www.cnblogs.com/MOBIN/p/6185387.html
https://www.cnblogs.com/baizhanshi/p/6425209.html
https://blog.csdn.net/u012664375/article/details/66967687
http://www.cnblogs.com/dolphin0520/p/3949310.html
--java.util.concurrent 之六:使用Future类和Callable类
http://kanglecjr.iteye.com/blog/1071199
--Java.util.concurrent 包 使用Future,Callable实现抢答模式
http://blog.csdn.net/u013025830/article/details/51373482
-- Java多线程之~~~Callable接口获得返回值
http://blog.csdn.net/a352193394/article/details/39505307
--Java多线程之Callable接口的实现
http://www.cnblogs.com/baizhanshi/p/6425209.html
--Callable,Runnable比较及用法
http://www.cnblogs.com/zeze/p/6293104.html
--Java线程(七):Callable和Future
https://blog.csdn.net/ghsau/article/details/7451464
https://www.cnblogs.com/MOBIN/p/6185387.html
https://www.cnblogs.com/baizhanshi/p/6425209.html
https://blog.csdn.net/u012664375/article/details/66967687
http://www.cnblogs.com/dolphin0520/p/3949310.html
import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; import org.apache.log4j.Logger; public class TaskDemo implements Callable<Boolean> { /** * CountDownLatch类只提供了一个构造器: * public CountDownLatch(int count) { }; //参数count为计数值 * 然后下面这3个方法是CountDownLatch类中最重要的方法: public void await() throws InterruptedException { }; //调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行 public boolean await(long timeout, TimeUnit unit) throws InterruptedException { }; //和await()类似,只不过等待一定的时间后count值还没变为0的话就会继续执行 public void countDown() { }; //将count值减1 * @param args */ private static final Logger LOGGER = Logger.getLogger(TaskDemo.class); private XTargetService xTargetService; private CountDownLatch countDownLatch; public TaskDemo() { super(); } public TaskDemo(XTargetService xTargetService,CurrentContext context, CountDownLatch countDownLatch) { super(); this.xTargetService = xTargetService; this.context = context; this.countDownLatch = countDownLatch; } @Override public Boolean call() throws Exception { try { Thread.sleep(3000); } catch (Exception e) { LOGGER.error("xxxxxx", e); }finally{ if (countDownLatch != null) { countDownLatch.countDown(); } } return true; } }
发表评论
-
负载均衡
2020-08-27 23:32 291基于nginx配置负载均衡 参考 - - Nginx + Sp ... -
HttpAsyncClient-异步开源框架
2018-06-27 13:09 984引用参考 --了解HttpAsyncClient https: ... -
java线程优化方法或思路、高并发、大数据量
2017-09-04 19:17 386一、多线程 【生产问题】 某个接口xServic ... -
java.util.concurrent相关-ThreadPoolExecutor
2017-02-22 16:49 395引用参考: --Java ThreadPoolExecutor ... -
高可用 高并发 java并发相关 ThreadLocal、Volatile
2016-11-23 10:30 439参考博客: --互联网高可用架构技术实践 http://www ... -
java 多线程 AtomicInteger原子变量
2016-03-30 11:22 420/** * AtomicInteger * @au ... -
java四种线程池
2016-03-29 11:29 4921、newCachedThreadPool package ... -
Thread类、Runnable接口、ThreadLocal
2016-03-29 10:40 1031--引用参考 https://blog.csdn.net/u0 ... -
socket通信例子_服务端写客户端读多线程写法
2016-03-16 15:06 4791、主程序 /** * 主程 ... -
java socket通信编程
2016-03-15 13:22 346http://haohaoxuexi.iteye.com/bl ... -
jvm_多线程_高并发
2013-10-17 14:34 695参考blog --Java中的多线程你只要看这一篇就够了 ht ... -
多线程数据同步之synchronized同步方法-多线程访问临界资源
2013-10-17 10:12 1310package com.tools; /** * 同步方 ... -
jdk+eclipse+adt+sdk+avd的Android环境搭建
2013-03-19 11:28 1070参照: http://mobile.51cto.com/a ... -
Synchronized理解
2012-07-18 15:30 963synchronized 的这个关键字,这个关键字用得比较少, ...
相关推荐
Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项。 首先,Java 5开始,Java提供了...
2. **Callable**: 相比Runnable,Callable接口提供了更强大的功能,它包含一个带返回值的`call()`方法。这使得Callable任务能够返回计算结果或抛出异常。例如,如果一个任务需要计算一个复杂的数学问题,Callable...
例如,我们可以使用Callable接口来实现一个复杂的计算任务,然后使用Future接口来获取计算结果。 Java多线程Callable和Future接口的使用场景非常广泛,如计算复杂的数学问题、处理大规模数据、实现高性能的服务器...
Callable 和 Future 是 Java 多线程编程中两个重要的接口,它们在处理异步计算和结果获取方面发挥着关键作用。Callable 与 Runnable 相似,但具有更强大的功能,允许任务返回结果并处理异常。 Callable 接口: ...
Callable接口和Future接口的组合使用,能够实现多线程并发执行任务,并获取执行结果。 一、Callable接口简介 Callable接口是一个泛型接口,用于表示可以调用并返回结果的代码。它提供了一个call()方法,该方法...
`Callable`和`Future`的组合是Java并发包中一个强大的工具,它弥补了`Runnable`接口的不足,使得异步编程可以获取到返回值并处理异常。同时,`ExecutorService`作为线程池的实现,为并发编程提供了一种优雅的解决...
在Java编程中,Callable接口和Future接口是多线程编程中的重要工具,它们在Web应用程序的性能优化中扮演着关键角色。本篇文章将深入探讨Callable和Future如何在Web应用中提高效率并优化资源利用。 Callable接口是...
Callable接口的基本用法 2.1 创建Callable任务 2.2 提交Callable任务 2.3 获取任务执行结果 Future接口的使用 3.1 获取任务执行状态 3.2 取消任务的执行 Callable与Runnable的对比 Callable的异常处理 Callable的...
它提供了一个框架来执行Runnable或Callable接口的实现。ExecutorService可以创建固定大小的线程池,也可以创建缓存线程池、调度线程池等。 在上面的代码中,我们使用了Executors.newFixedThreadPool方法创建了一个...
从Java 1.5开始,引入了Callable和Future接口,为并行编程提供了一种更为高效和便捷的解决方案。 Callable接口是Java并发库中的一个关键接口,位于`java.util.concurrent`包下。Callable接口与Runnable接口类似,但...
Callable接口可以获取到线程的返回结果,而Future接口可以通过get方法来承接线程执行的结果。下面我们通过一个示例代码来演示Callable和Future的使用: 首先,我们需要创建一个ThreadPoolExecutor来管理线程池。...
Callable 和 Future 是 Java 多线程编程中的两个关键接口,它们在 Java 5 及以上版本引入,以增强并发处理的能力。Callable 接口类似 Runnable,但提供了更丰富的功能,而 Future 对象则用于管理和控制异步计算的...
Java多线程之Callable接口的实现 Java中的多线程编程是指在一个程序中同时运行多个线程,以提高程序的执行效率和响应速度。在Java中,有两种方式可以实现多线程编程,即继承Thread类和实现Runnable接口。然而,在...
我们使用Callable与Future来实现异步编程,将原本需要21次数据库访问的接口改造成10个线程并发访问数据库,极大地缩短了响应时间。 结论 Callable与Future是Java并发编程中两个非常重要的概念,它们通常结合使用来...
FutureTask 是 Future 接口的实现类,也可以用作闭锁。 下面是一个简单的示例代码,计算 0 到 100 的和,返回结果: ``` public class TestCallable { public static void main(String[] args) { ...
Future接口代表异步计算的结果,Callable接口允许线程返回一个结果。FutureTask结合了Future和Callable,可以作为ExecutorService的submit()方法参数,获取异步计算的结果。 十、线程安全的最佳实践 1. 尽可能减少...
在Java多线程编程中,`Callable`接口和`Future`接口是两个重要的组件,它们提供了比`Runnable`接口更强大的功能,尤其是在处理异步计算和结果获取时。本文将详细介绍这两个接口以及如何使用它们来创建自定义任务类以...
2. **Future接口**:`Future, Object>>> future` 是一个Future对象,它是用于获取Callable线程执行结果的接口。`future.get()` 方法会阻塞,直到计算完成并返回结果。 3. **ExecutorService**:`ExecutorService ...
所以,我们也说它实现了Future接口。 示例和源码分析 我们先通过一个示例看看Callable和Future的基本用法,然后再分析示例的实现原理。 import java.util.concurrent.Callable; import java.util.concurrent....
在Java编程语言中,Callable接口是用于创建能够返回结果并可能抛出异常的线程的。与Runnable接口相比,Callable接口提供了更强大的功能,因为Runnable只能定义无返回值的任务,而Callable可以定义有返回值的任务。这...