A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 麦子609 中级黑马   /  2013-9-17 18:51  /  1003 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 麦子609 于 2013-9-18 19:57 编辑

scheduleAtFixedRate()方法的中间两个参数在这个例子中的含义,张老师讲的没有怎么听明白
  1.   //每隔一秒检查对应的灯是否为绿,是则放行一辆车               
  2.                 ScheduledExecutorService timer =  Executors.newScheduledThreadPool(1);
  3.                 timer.scheduleAtFixedRate(
  4.                                 new Runnable(){
  5.                                         public void run(){
  6.                                                 if(vechicles.size()>0){
  7.                                                         boolean lighted = Lamp.valueOf(Road.this.name).isLighted();
  8.                                                         if(lighted){
  9.                                                                 System.out.println(vechicles.remove(0) + " is traversing !");
  10.                                                         }
  11.                                                 }
  12.                                                 
  13.                                         }
  14.                                 },
  15.                                 1,//具体在这个例子中代表什么意思
  16.                                 1,//具体在这个例子中代表什么意思
  17.                                 TimeUnit.SECONDS);
  18.                
  19.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 辛春鹏 于 2013-9-17 20:51 编辑

第一个是指过多久就执行第一次。下一个的意思是以后每过多久执行一次
就是过1秒执行第一次,j就是判断着露路上有没有车啊,是不是绿灯啊。如果路上有车并且是绿灯就放行第一辆车,也就是把这个元素移除出容器。以后每隔1秒执行一次。一样的过程

评分

参与人数 1技术分 +1 收起 理由
潘才新 + 1

查看全部评分

回复 使用道具 举报
最简单的方法,就是看jdk的api。
回复 使用道具 举报
连环发生啊,第一次发生在1秒以后,以后没隔一秒就发生一次,这是线程池调度的一个方法

评分

参与人数 1技术分 +1 收起 理由
黄文伯 + 1 达到25分咯!

查看全部评分

回复 使用道具 举报
顶顶,加油
回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
黄文伯 发表于 2013-9-18 19:53
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~ ...

不好意思啊  忘了   已经改过了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马