当前位置: 网学 > 编程文档 > JAVA > 正文

java concurrent 探秘

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/05
alk = { 5, 8, 15, 15, 10 };  // 自驾游  private static int[] timeSelf = { 1, 3, 4, 4, 5 };  // 旅游大巴  private static int[] timeBus = { 2, 4, 6, 6, 7 };    static String now() {     SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");     return sdf.format(new Date()) + ": ";  }  static class Tour implements Runnable {     private int[] times;     private CyclicBarrier barrier;     private String tourName;     public Tour(CyclicBarrier barrier, String tourName, int[] times) {       this.times = times;       this.tourName = tourName;       this.barrier = barrier;     }     public void run() {       try {         Thread.sleep(times[0] * 1000);         System.out.println(now() + tourName + " Reached Shenzhen");         barrier.await();         Thread.sleep(times * 1000);         System.out.println(now() + tourName + " Reached Guangzhou");         barrier.await();         Thread.sleep(times * 1000);         System.out.println(now() + tourName + " Reached Shaoguan");         barrier.await();         Thread.sleep(times * 1000);         System.out.println(now() + tourName + " Reached Changsha");         barrier.await();         Thread.sleep(times * 1000);         System.out.println(now() + tourName + " Reached Wuhan");         barrier.await();       } catch (InterruptedException e) {       } catch (BrokenBarrierException e) {       }     }  }  public static void main(String[] args) {     // 三个旅行团     CyclicBarrier barrier = new CyclicBarrier(3);     ExecutorService exec = Executors.newFixedThreadPool(3);     exec.submit(new Tour(barrier, "WalkTour", timeWalk));     exec.submit(new Tour(barrier, "SelfTour", timeSelf));//当我们把下面的这段代码注释后,会发现,程序阻塞了,无法继续运行下去。     exec.submit(new Tour(barrier, "BusTour", timeBus));     exec.shutdown();  }}CyclicBarrier最重要的属性就是参与者个数,另外最要方法是await()。当所有线程都调用了await()后,就表示这些线程都可以继续执行,否则就会等待。FutureFuture 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。计算完成后只能使用 get 方法来检索结果,如有必要
  • 上一篇资讯: 实战java Concurrent
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号