V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
andybest
V2EX  ›  问与答

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

  •  
  •   andybest · 2013-07-03 13:05:33 +08:00 · 2670 次点击
    这是一个创建于 4193 天前的主题,其中的信息可能已经有所发展或是发生改变。
    你只能修改这个一秒被调用执行一次的方法
    需要在这里面实现每一分钟运行一个句任务比如System.out.println("Hello world!");

    是否能实现?实现的思路是什么呢?谢谢!
    6 条回复    1970-01-01 08:00:00 +08:00
    gDD
        1
    gDD  
       2013-07-03 13:37:50 +08:00   ❤️ 1
    弄个static变量用来计数,每次加1,到60了执行输出语句然后归零。
    lichao
        2
    lichao  
       2013-07-03 13:55:45 +08:00   ❤️ 1
    if ( system.datatime.second == 0) { do .... }
    andybest
        3
    andybest  
    OP
       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
        4
    lichao  
       2013-07-03 14:23:56 +08:00   ❤️ 1
    @andybest 不会
    lichao
        5
    lichao  
       2013-07-03 14:24:25 +08:00   ❤️ 1
    @andybest 那是秒,不死毫秒
    andybest
        6
    andybest  
    OP
       2013-07-03 14:29:30 +08:00
    @lichao 谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   985 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.