首页 > 解决方案 > 只有经过 5 秒才能再次调用方法

问题描述

我有一个正在运行的应用程序,我有点想创建一个超时,我的方法在很短的时间内被调用了太多次。我想确定只有经过 5 秒才能再次调用该方法。我怎么做 ?

标签: java

解决方案


无需进入线程和计时器等的简单方法是在调用方法并存储它时获取当前时间。在下一次通话中,您将新的当前时间与旧的进行比较。如果 5 秒还没有过去,什么也不做。

例如

long lastCall = 0;
void doSomething()
{
    long now = secondsSinceEpoch();
    if (lastCall == 0 || now-lastCall > 5)
    {
        // Do stuff
        // lastCall = now
    }
}

推荐阅读