给你一个一秒运行一次的循环线程,如何在其中实现现一个一分钟运行一次的任务?

2013-07-03 13:05:33 +08:00
 andybest
你只能修改这个一秒被调用执行一次的方法
需要在这里面实现每一分钟运行一个句任务比如System.out.println("Hello world!");

是否能实现?实现的思路是什么呢?谢谢!
2670 次点击
所在节点    问与答
6 条回复
gDD
2013-07-03 13:37:50 +08:00
弄个static变量用来计数,每次加1,到60了执行输出语句然后归零。
lichao
2013-07-03 13:55:45 +08:00
if ( system.datatime.second == 0) { do .... }
andybest
2013-07-03 14:22:52 +08:00
@gDD 谢谢,假设是无法写外围变量的呢?


@lichao 谢谢,有没有可能在某秒没有判断到system.datatime.second == 0,又或者在某秒被调用了两次?

比如
1次:0秒0ms 2次:0秒999ms
或者:
1次:59.999ms 2次:1秒0ms

1us的误差在任何语言都是可能存在的
lichao
2013-07-03 14:23:56 +08:00
@andybest 不会
lichao
2013-07-03 14:24:25 +08:00
@andybest 那是秒,不死毫秒
andybest
2013-07-03 14:29:30 +08:00
@lichao 谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/74610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX