每秒向某个变量添加1

时间:2014-12-04 19:55:25

标签: javascript add intervals

我只想在程序运行时每秒向某个变量添加1

所以基本上它每秒都会执行类似x ++的操作。

我看到很多setIntervals,但他们使用的var不起作用。

我是Java的新手,所以请耐心等待。

3 个答案:

答案 0 :(得分:0)

在运行x ++之前,先在循环中尝试sleep命令。 sleep命令以毫秒为单位,因此您将拥有类似以下伪代码的内容:

LoopWithConditional{

sleep(60000);



}

答案 1 :(得分:0)

首先,您需要一种线程安全的方法来增加int。最好的方法是使用java.util.concurrent.atomic.AtomicInteger

然后,您需要一些定时任务来每秒增加AtomicInteger。为此,您可以使用Timer.schedule

private final AtomicInteger myInt = new AtomicInteger(0); // start at 0

public void startIncrementing() {
    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            myInt.incrementAndGet();
        }
    }
    Timer timer = new Timer(true); // you probably want a daemon thread here
    timer.schedule(task, 0, 1000); // start right away, repeat every 1000 ms
}

如果您希望能够停止增量,则需要将timer保存到实例变量中,以便在想要停止增量时可以在其上调用timer.cancel()。 / p>

我建议您在这里阅读各种类/方法的javadoc,因为有很多多余的东西(例如守护程序线程等)。

答案 2 :(得分:0)

您可以按如下方式使用JavaScript日期对象:

//At the beginning of your app
var d = new Date();
var startSeconds = d.getTime()/1000

//Whenever you need the incremental variable by one every second

x = (d.getTime()/1000) - startSeconds