Chinaunix首页 | 论坛 | 博客
  • 博客访问: 258015
  • 博文数量: 164
  • 博客积分: 60
  • 博客等级: 民兵
  • 技术积分: 1129
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 21:55
文章分类

全部博文(164)

文章存档

2017年(2)

2015年(67)

2014年(95)

我的朋友

分类: Java

2015-07-23 22:05:25


通过 Future可以获取 Callable 返回的结果
 future.get() 可以阻塞线程,使线程等待结果。

点击(此处)折叠或打开

  1. package cn.itcast.heima2;

  2. import java.util.Random;
  3. import java.util.concurrent.Callable;
  4. import java.util.concurrent.CompletionService;
  5. import java.util.concurrent.ExecutionException;
  6. import java.util.concurrent.ExecutorCompletionService;
  7. import java.util.concurrent.ExecutorService;
  8. import java.util.concurrent.Executors;
  9. import java.util.concurrent.Future;
  10. import java.util.concurrent.TimeUnit;



  11. public class CallableAndFuture {

  12.     /**
  13.      * @param args
  14.      */
  15.     public static void main(String[] args) {
  16.         ExecutorService threadPool = Executors.newSingleThreadExecutor();
  17.         Future<String> future =
  18.             threadPool.submit(
  19.                 new Callable<String>() {
  20.                     public String call() throws Exception {
  21.                         Thread.sleep(2000);
  22.                         return "hello";
  23.                     };
  24.                 }
  25.         );
  26.         System.out.println("等待结果");
  27.         try {
  28.             System.out.println("拿到结果:" + future.get());
  29.         } catch (InterruptedException e) {
  30.             // TODO Auto-generated catch block
  31.             e.printStackTrace();
  32.         } catch (Exception e) {
  33.             // TODO Auto-generated catch block
  34.             e.printStackTrace();
  35.         }
  36.         
  37.       
  38.     

  39. }

阅读(1070) | 评论(0) | 转发(0) |
0

上一篇:会话技术(Cookie和Session)概述

下一篇:没有了

给主人留下些什么吧!~~