たとえば、このコードを使用して、ユーザーが何らかのアクションを実行できるかどうかを確認します。したがって、ユーザーは 5 秒ごとに 1 つのアクションしか実行できません。
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% 安全にする方法についてのヒントがあればお願いします。