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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马张伟 黑马帝   /  2011-12-25 22:32  /  1900 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马张伟 于 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的意思

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

2 个回复

倒序浏览
创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。如果任务的任何一个执行遇到异常,则后续执行都会被取消。否则,只能通过执行程序的取消或终止方法来终止该任务。如果此任务的任何一个执行要花费比其周期更长的时间,则将推迟后续执行,但不会同时执行。

参数:
command - 要执行的任务
initialDelay - 首次执行的延迟时间
period - 连续执行之间的周期
unit - initialDelay 和 period 参数的时间单位

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
李楠 黑马帝 2011-12-25 23:39:17
藤椅
你是不明白为什么那里出现10,10吗?
scheduleAtFixedRate()方法的四个参数,第一个是个匿名内部类,那两个10是后面的参数。
如果是不明白这个函数是干什么的。给你看下API文档的描述。
scheduleAtFixedRate()方法
安排指定的任务在指定的延迟后开始进行重复的固定速率执行。以近似固定的时间间隔(由指定的周期分隔)进行后续执行。
固定速率执行适用于那些对绝对 时间敏感的重复执行活动,
如每小时准点打钟报时,或者在每天的特定时间运行已安排的维护活动。
它还适用于那些完成固定次数执行的总计时间很重要的重复活动,如倒计时的计时器,每秒钟滴答一次,共 10 秒钟。
最后,固定速率执行适用于安排多个重复执行的计时器任务,这些任务相互之间必须保持同步。



评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马