Сценарий похож:Вызов метода после некоторой задержки в java
В моем приложении я открыл один файл, обновил его и сохранил. После того как файл сохраненного события будет запущен, он выполнит один метод abc()
. Но теперь я хочу добавить задержку после того, как событие сохранения заработает, скажем, 1 минута. Поэтому я добавил Thread.sleep(60000)
. Теперь он выполняет метод abc()
через 1 минуту. До сих пор все работает нормально.
Но предположим, что пользователь сохранил файл 3 раза в течение 1 минуты, метод запускается 3 раза через каждые 1 минуту. Я хочу выполнить метод только один раз в следующие 1 минуту после первого сохранения с последним содержимым файла.
Как я могу справиться с таким сценарием?
использовать timertask –
Использовать 'ScheduledExecutorService'. Сохраните будущее, возвращенное из метода расписания, и «отмените» его, если позже будет другое действие сохранения. –
Дубликат http://stackoverflow.com/questions/2258066/java-run-a-function-after-a-specific-number-of-seconds – Swapnil