package com.isoftstone.interview.traffic;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Road {
// 定义一个集合存储路上的汽车
private List<String> vehicles = new ArrayList<String>();
// 通过某条路线的车辆有个与路线相对应的名字。
private String name = null;
public Road(String name){
ExecutorService pool = Executors.newSingleThreadExecutor();
pool.execute(new Runnable(){
@Override
public void run() {
for(int i=0;i<1000;i++){
try {
// 每隔1到10十秒,会来一辆汽车。
Thread.sleep((new Random().nextInt(10)+1)*1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
vehicles.add(Road.this.name+"_"+i);
}
}
});
}
}
//在每隔1到10秒会新来一辆汽车。为什么张老师开始用的Thread.sleep()不行?要用到 ExecutorService pool = Executors.newSingleThreadExecutor();
能说下这样做的好处吗? 求大神。。。。 |