黑马程序员技术交流社区
标题:
交通灯里代码不清楚
[打印本页]
作者:
黑马张伟
时间:
2011-12-25 22:32
标题:
交通灯里代码不清楚
本帖最后由 黑马张伟 于 2011-12-26 07:42 编辑
ScheduledExecutorService timer=Executors.newScheduledThreadPool(1);
timer.scheduleAtFixedRate(
new Runnable(){
public void run() {System.out.println("来啊!");
currentLamp=currentLamp.blackOut();
}
},
10,
10,
TimeUnit.SECONDS);
两个10和TimeUnit.SECONDS的意思
作者:
yunqiangshan
时间:
2011-12-25 22:44
创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。如果任务的任何一个执行遇到异常,则后续执行都会被取消。否则,只能通过执行程序的取消或终止方法来终止该任务。如果此任务的任何一个执行要花费比其周期更长的时间,则将推迟后续执行,但不会同时执行。
参数:
command - 要执行的任务
initialDelay - 首次执行的延迟时间
period - 连续执行之间的周期
unit - initialDelay 和 period 参数的时间单位
作者:
李楠
时间:
2011-12-25 23:39
你是不明白为什么那里出现10,10吗?
scheduleAtFixedRate()方法的四个参数,第一个是个匿名内部类,那两个10是后面的参数。
如果是不明白这个函数是干什么的。给你看下API文档的描述。
scheduleAtFixedRate()方法
安排指定的任务在指定的延迟后开始进行重复的固定速率执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
固定速率执行适用于那些对绝对 时间敏感的重复执行活动,
如每小时准点打钟报时,或者在每天的特定时间运行已安排的维护活动。
它还适用于那些完成固定次数执行的总计时间很重要的重复活动,如倒计时的计时器,每秒钟滴答一次,共 10 秒钟。
最后,固定速率执行适用于安排多个重复执行的计时器任务,这些任务相互之间必须保持同步。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2