java 线程 callable
来源:互联网 发布:穿越火线开挂软件 编辑:程序博客网 时间:2024/06/15 16:20
- 线程类:
- /**
- * 类名称:CallableTest.java
- * 类描述:
- * 作 者:why
- * 时 间:2016年11月7日
- */
- public class CallableTest implements Callable<String> {
- //接收传来的值
- private String str;
- public CallableTest(String str){
- super();
- this.str = str;
- }
- @Override
- public String call() throws Exception {
- //要执行的耗时操作,为了体验效果,没调用一次,休眠1000ms
- Thread.sleep(1000);
- return str;
- }
- }
- 调用类:
- /**
- * 类名称:RunTest.java
- * 类描述:
- * 作 者:why
- * 时 间:2016年11月7日
- */
- public class RunTest {
- public static void main(String[] args) {
- //创建线程池
- ExecutorService ex=Executors.newCachedThreadPool();
- List<CallableTest> taskList = new ArrayList<CallableTest>();
- long now=System.currentTimeMillis();
- taskList.add(new CallableTest("1"));
- taskList.add(new CallableTest("2"));
- taskList.add(new CallableTest("3"));
- taskList.add(new CallableTest("4"));
- try {
- //调用线程,并且接收线程返回的结果
- List<Future<String>> as =ex.invokeAll(taskList);
- for(Future<String> f:as){
- //打印返回结果
- System.out.println(f.get());
- }
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (ExecutionException e) {
- e.printStackTrace();
- }
- System.out.println((System.currentTimeMillis()-now));
- }
- }
- 输出结果:
- 1
- 2
- 3
- 4
- 1003(耗时)
- 正常情况下,执行4次所用时间应给是4000ms,而并发调用,用时1003ms。
阅读全文
0 0
- java 线程 callable
- Java线程:Callable和Future
- 【Java线程】Callable和Future
- Java线程:Callable和Future
- Java线程:Callable和Future
- 【Java线程】Callable和Future
- Java线程:Callable和Future
- Java线程:Callable和Future
- java线程:callable和Runnable
- Java线程:Callable和Future
- Java线程之Callable接口实现线程
- java之多线程(3)--线程池&Callable
- Java线程(七):Callable和Future
- Java线程(六):Callable和Future
- Java线程(六):Callable和Future
- java Callable有返回值的线程
- Java线程(六):Callable和Future
- Java线程(六):Callable和Future
- PlayMaker的Transition和Global Transition
- Android okhhtp post 提交参数拼接成json串
- margin top 父元素位置问题
- Android 图片的三级缓存
- U-BOOT启动linux的过程
- java 线程 callable
- Java Runtime.exec()的使用
- spring+springmvc+mybatis 中 对静态资源的拦截
- TCPdump抓包命令详解
- [Leetcode] 399. Evaluate Division 解题报告
- flex布局的兼容性写法
- scala使用implicit实现扩展已有功能
- Logstash日志插件开发总结(1)
- 第三课 Python爬虫Beautifulsoup4模块的使用