Я использую, например, этот код, чтобы проверить, может ли пользователь выполнить какое-либо действие. Таким образом, пользователь может выполнять только одно действие каждые 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()
возвращает длинное число, и оно может увеличиваться, пока не станет отрицательным.
Мой код должен работать на сервере, который должен работать более 1 месяца. Поэтому я боюсь, что в какой-то момент System.currentTimeMillis()
вернет отрицательное значение, и мой код всегда будет сообщать пользователю, что ему нужно подождать 5 секунд или наоборот.
Мне очень трудно сосредоточиться на этом фрагменте кода и исправить его, поэтому я прошу вас, ребята, есть ли у вас совет, как исправить эту проблему и сделать мой код на 100% безопасным.