黑马程序员技术交流社区
标题:
求大神解答。。交通灯的问题
[打印本页]
作者:
唐志海
时间:
2014-1-25 11:28
标题:
求大神解答。。交通灯的问题
本帖最后由 唐志海 于 2014-1-27 11:41 编辑
这边为什么要用到线程池呢??
public class Road {
private List<String> vechicles = new ArrayList<String>();
private String name =null;
public Road(String name){
this.name = name;
//模拟车辆不断随机上路的过程
ExecutorService pool = Executors.newSingleThreadExecutor();
pool.execute(new Runnable(){
public void run(){
for(int i=1;i<1000;i++){
try {
Thread.sleep((new Random().nextInt(10) + 1) * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
vechicles.add(Road.this.name + "_" + i);
}
}
});
复制代码
作者:
筱厸厸
时间:
2014-1-25 12:13
张孝祥老师这边用的是单线程池SingleThreadExecutor ,若果不用而是直接启动的话,那就是所有车辆出发数量得不到保障,对红绿灯就不好控制了
作者:
悟中生有
时间:
2014-1-27 15:50
用线程池可以更好的控制线程吧。
作者:
刘旭升
时间:
2014-1-27 17:05
①
线程池是新特性,所以它的出现和使用也是对多线程的优化和让大家去使用这个特性。很多方法都封装好了,不需要自己去写和实现了,可以提高不少效率。
②
让别人知道自己会这个(次要,面试却必要)
③
使用线程池,可以写成匿名内部类,其他功能需求调用线程池方法即可,达到了代码结构紧凑易读的效果。
【都是自己的理解,没有去查询更专业的回答,请楼主判断性看】
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2