java多线程Future和Callable类示例分享
2016-02-03 15:48
267 查看
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callable的实现方法
一,描写叙述
在多线程下编程的时候。大家可能会遇到一种需求,就是我想在我开启的线程都结束时,同一时候获取每一个线程中返回的数据然后再做统一处理,在这种需求下,Future与Callable的组合就派上了非常大的用场。
也有人会说,我能够使用同步来完毕这个需求啊,普通情况下确实能够。可是在一种特殊情况下就不行了:
想象,你开启了多个线程同步计算一些数据,可是大家都知道,线程是会争用资源的,也就是说。你开启多个线程来同步计算数据时。事实上线程之间的计算顺序是不可空的,当然除非你非非常大周折去处理也不无可能。在这样的情况下。Future和Callable的组合就是不二之选了。
二,样例
这两个类的样例事实上非常easy,主要就看自己在实际运用中能不能找到他们的用武之地了。上代码:
?
一,描写叙述
在多线程下编程的时候。大家可能会遇到一种需求,就是我想在我开启的线程都结束时,同一时候获取每一个线程中返回的数据然后再做统一处理,在这种需求下,Future与Callable的组合就派上了非常大的用场。
也有人会说,我能够使用同步来完毕这个需求啊,普通情况下确实能够。可是在一种特殊情况下就不行了:
想象,你开启了多个线程同步计算一些数据,可是大家都知道,线程是会争用资源的,也就是说。你开启多个线程来同步计算数据时。事实上线程之间的计算顺序是不可空的,当然除非你非非常大周折去处理也不无可能。在这样的情况下。Future和Callable的组合就是不二之选了。
二,样例
这两个类的样例事实上非常easy,主要就看自己在实际运用中能不能找到他们的用武之地了。上代码:
?
相关文章推荐
- java中map遍历的四种遍历方式
- Spring连接数据库的几种常用的方式
- cas-4.1.0 导入eclipse
- 深入解析Java的设计模式编程中单例模式的使用
- java 反射机制构建JSON字符串
- java邮件解析1
- 【大型互联网企业架构分享】springmvc+mybatis+shiro+restful+webse
- 转:Eclipse插件开发之TreeViewer
- spring源码学习之四 BeanDefinitionParserDelegate分析
- 在Eclipse中将Java项目打包为jar
- Spring Controller层记录日志配置二
- Spring中的IoC(控制反转)具体是什么东西
- JAVA中关于链表的操作和基本算法
- springMVC导入excel案例poi
- 基于Spring + Spring MVC + Mybatis 高性能web构建
- java反射实例
- java31:异常
- Spring切入点表达式
- struts2拦截器
- spring ioc原理 和 java反射 体会