Как я могу реализовать TimerTask, когда мой класс уже расширяет класс? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь создать задачу для запуска каждую 5-ю секунду, но как я могу это сделать, когда мой класс

public class BlueSlime extends Slime implements Shootable, TimerTask

уже расширяет один класс?

Есть ли другойтип задачи, которую я мог бы использовать?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Java v 5 +:

Timer выдержка:

Java 5.0 представила пакет java.util.concurrent и один из Утилиты параллелизма в этом ScheduledThreadPoolExecutor, пул потоков для многократного выполнения задач с заданной скоростью или задержка. Это фактически более универсальная замена для Комбинация Timer / TimerTask, поскольку она позволяет использовать несколько потоков услуг принимает различные единицы времени, и не требует создания подкласса TimerTask (просто реализовать Runnable) . Настройка ScheduledThreadPoolExecutor с одним потоком делает его эквивалентным Таймеру.

0 голосов
/ 10 мая 2018

Почему задача должна знать что-либо о частоте, с которой она выполняется?

  • Создайте свою задачу и заставьте ее реализовать Runnable.
  • Создание или использование отдельного планировщика задач или Исполнитель
  • Запустите задачу с помощью планировщика.
  • Прибыль

Задача должна описывать задание, которое должно быть выполнено, не частота, с которой должно выполняться это задание

...