例如,我使用此代码来检查用户是否可以执行某些操作。所以用户每5秒只能做一个动作。
if((System.currentTimeMillis() - lastTime) > 5000)
{
// Message: Ok, you can do action now.
}else{
// Message: Have to wait 5 seconds to do action.
return;
}
lastTime = System.currentTimeMillis();
但是众所周知,System.currentTimeMillis()
返回一个long,并且那个long可以不断增加,直到它变成负数。
我的代码应该在需要超过 1 个月正常运行时间的服务器上运行。所以我担心在某些时候System.currentTimeMillis()
会返回一个负值,我的代码总是会告诉用户他需要等待 5 秒或相反。
我真的很难专注于这段代码并修复它,所以我问你们是否有关于如何解决这个问题并使我的代码 100% 安全的提示。