Хотя другой ответ совершенно верен, я подумал, что было бы полезно сообщить вам, что ScheduledExecutorService
(документация найдена здесь ) позволяет вам вызывать функцию foo()
каждые n
секунд, используяметод scheduleAtFixedRate()
.
По сути, фактическая настройка исполнителя так же проста, как:
ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
ses.scheduleAtFixedRate(foo, 0, n, TimeUnit.SECONDS);
Я думаю, что вводить здесь дополнительный код немного ненужно, но чтобы узнать, как это сделать более подробнопосмотрите здесь , здесь или здесь .Эти ссылки дают несколько основных примеров.Я действительно рекомендовал бы делать это таким образом, так как этот класс является частью библиотеки утилит java (поэтому никаких дополнительных зависимостей), и вам на самом деле не нужно сильно беспокоиться о его многопоточности / планировании, он позаботится обо всем этом.для тебя.Но это только мои $ .02.
Оставьте вопрос / комментарий, если он у вас есть, я постараюсь на него ответить.