Метод scheduleAtFixedRate - изменить аргумент TimeUnit? - PullRequest
0 голосов
/ 08 октября 2019

Я использую класс SchduledExecuterService для многократного запуска некоторого кода с использованием метода scheduleAtFixedRate ().

exec.scheduleAtFixedRate(new Runnable() {
    public void run() {
        //some code
    }
}, 1, 1, TimeUnit.SECONDS);

Проблема в том, что я хочу изменить аргумент TimeUnit на определенную долю секундыв зависимости от переменной, т.е. TimeUnit.SECONDS * num;Но метод не принимает долго как параметры, только фиксированные TimeUnits. Есть предложения?

1 Ответ

1 голос
/ 08 октября 2019

Почему бы вам не поиграть с параметром периода?

long periodInMicroseconds = 16667;
exec.scheduleAtFixedRate(new Runnable() {
    public void run() {
        //some code
    }
}, 0, periodInMicroseconds, TimeUnit.MICROSECONDS);
...