2 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
無(wú)需進(jìn)入線程和計(jì)時(shí)器等的簡(jiǎn)單方法是在調(diào)用方法時(shí)獲取當(dāng)前時(shí)間并存儲(chǔ)它。在下一次呼叫中,您將新的當(dāng)前時(shí)間與舊時(shí)間進(jìn)行比較。如果 5 秒未過(guò)去,則不執(zhí)行任何操作。
例如:
long lastCall = 0;
void doSomething()
{
long now = secondsSinceEpoch();
if (lastCall == 0 || now-lastCall > 5)
{
// Do stuff
// lastCall = now
}
}

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
我不知道這是否能幫助你。
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");
}
}
添加回答
舉報(bào)