Как в java можно реализовать timer чтобы не создавать много объектов?

Пользователь

от lilla.herman , в категории: Java , 3 месяца назад

Как в java можно реализовать timer чтобы не создавать много объектов?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cloyd , 3 месяца назад

@lilla.herman 

Для реализации таймера в Java можно использовать класс java.util.Timer.


Чтобы не создавать много объектов класса Timer, можно создать один общий экземпляр этого класса и использовать его для всех нужных таймеров.


Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import java.util.Timer;
import java.util.TimerTask;

public class MyTimer {
    private static Timer timer = new Timer();

    public static void schedule(TimerTask task, long delay) {
        timer.schedule(task, delay);
    }
}


В этом примере создается класс MyTimer, который содержит статический экземпляр класса Timer. Метод schedule принимает задание (экземпляр класса TimerTask) и задержку в миллисекундах и вызывает соответствующий метод у общего экземпляра Timer.


Теперь можно использовать этот таймер так:

1
2
3
4
5
6
MyTimer.schedule(new TimerTask() {
    @Override
    public void run() {
        // Здесь код задания
    }
}, 1000);


В этом примере создается новый экземпляр TimerTask и передается его в метод schedule у MyTimer. Задержка в миллисекундах передается также.


Таким образом, можно использовать один и тот же экземпляр Timer для всех нужных таймеров, не создавая при этом много объектов.