黑马程序员技术交流社区

标题: 关于张孝祥老师的银行调度系统 有几点不理解的 [打印本页]

作者: 张益达    时间: 2014-6-19 19:01
标题: 关于张孝祥老师的银行调度系统 有几点不理解的
1.老师在模拟客户拿号时候所用到的Executors.newScheduledThreadPool(1).scheduleAtFixedRate()不懂是什么意思
2.还有区分窗口之前的Executors.newSingleThreadExecutor().execute()不懂什么意思 求懂得大神给我解释

作者: 张益达    时间: 2014-6-19 19:03
别拿帮助文档糊弄我啊
作者: 人心如水    时间: 2014-6-19 21:35
哪里下载啊,我还没看过,
作者: 陈培果    时间: 2014-6-19 22:22
1.老师在模拟客户拿号时候所用到的Executors.newScheduledThreadPool(1).scheduleAtFixedRate()不懂是什么意思

第一个问题的简写代码如下:
创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。你也可以将他理解为一个定时器,多长时间拿一个号
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(//固定频率干一件事。
                                new Runnable(){}, //具体做什么事
                                0,//等待多长时间开始执行
                                Constants.COMMON_CUSTOMER_INTERVAL_TIME,//等待多长时间再去执行
                                TimeUnit.SECONDS);//数据单位,s

上面第一行代码用到了匿名内部类,你可以分开写成下面代码:
ScheduledExecutorService timer=Executors.newScheduledThreadPool(1);//新建一个定时器
timer.scheduleAtFixedRate();//定时器调用方法(固定频率干一件事的方法)

2.还有区分窗口之前的Executors.newSingleThreadExecutor().execute()不懂什么意思

新建一个线程池,随机启动任意个线程。
Executors.newSingleThreadExecutor().execute(new Runnable(){});
创建一个使用单个 worker 线程的 Executor,以无界队列方式来运行该线程。                       

通过pool的产生线程方法,添加Runnable的实现类,匿名内部类

这是我做的笔记,希望对你的理解有所帮助。




作者: 松涛小玮    时间: 2014-6-19 23:48
可以参考张老师的jdk1.5的线程并发库  主要讲线程的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2