Метод использования таймера в Java и класс TimerTask отличаются по своим функциям и назначению:
- Класс Timer используется для планирования выполнения задачи. 3 Он создаёт поток, выполняющий в фоновом режиме и ожидающий заданное время. 3 Когда время истечёт, задача, связанная с этим потоком, будет запущена. 3 Класс Timer является потокобезопасным, поэтому несколько потоков могут совместно использовать один объект Timer без необходимости внешней синхронизации. 1
- Класс TimerTask используется для определения самой задачи, которая должна быть запланирована для выполнения. 35 Это абстрактный класс, реализующий интерфейс Runnable. 15 В нём имеется абстрактный метод run(), который следует переопределить и который должен содержать исполняемый код. 3
Таким образом, класс Timer используется для планирования, а класс TimerTask — для определения и реализации запланированной задачи. 34