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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不愿一人 中级黑马   /  2013-12-27 12:52  /  769 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在交通灯面试题中,有这样一段代码
public Road(String name){  
  this.name = name;
  
  //启动一个线程模拟车辆上路的过程,即每隔一段时间向vechile集合中添加一两车
  ExecutorService pool = Executors.newSingleThreadExecutor();
  pool.execute(new Runnable(){
   @Override
   public void run() {
    for(int i=0;i<1000;i++){
     //睡眠1-10秒
     try {
      Thread.sleep((new Random().nextInt(10)+1)*1000);
      vechiles.add(Road.this.name+"--"+i);  
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
   
   }
   
  });}
这是在构造方法中创建并启动一个线程,但是对于其中的Road.this.name,这段代码不懂,虽说会用,但不知道为什么这样做,
还有就是张老师说可以将构造方法中name的参数前加上final,这个地方我也不知道为什么这样做,请大神指点啊

评分

参与人数 1技术分 +1 收起 理由
FFF + 1 淡定

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马