2 回答
TA贡献1785条经验 获得超8个赞
无需进入线程和计时器等的简单方法是在调用方法时获取当前时间并存储它。在下一次呼叫中,您将新的当前时间与旧时间进行比较。如果 5 秒未过去,则不执行任何操作。
例如:
long lastCall = 0;
void doSomething()
{
long now = secondsSinceEpoch();
if (lastCall == 0 || now-lastCall > 5)
{
// Do stuff
// lastCall = now
}
}
TA贡献1830条经验 获得超3个赞
我不知道这是否能帮助你。
private long timeMillions = 0;
public void doSomething(){
// if within 5 seconds
if(System.currentTimeMillis() < timeMillions + 5 * 1000){
//retrun or do some thing else
return;
}else{
// after 5 seconds
timeMillions = System.currentTimeMillis();
System.out.println("do something");
}
}
添加回答
举报