Я использую класс ScheduledThreadPoolExecutor
, чтобы запланировать выполнение задач каждые 30 или 60 секунд, как показано ниже. Я хочу иметь возможность изменить задачу, которая будет выполняться в «реальном времени», на основе значения переменной isRmi
, но я не могу заставить ее работать. В начале моего приложения переменная устанавливается на основе пользовательского ввода, но даже если я меняю ее во время выполнения программы, она все равно выполняет ту же задачу. Вы можете мне помочь?ScheduledThreadPoolExecutor меняет задачи в реальном времени
public void execute() {
ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(3);
scheduler.scheduleAtFixedRate(new ServPresTimer(player), 0, 30, TimeUnit.SECONDS);
if (!isRMI) {
scheduler.scheduleAtFixedRate(new P2PTimer(player), 1, 60, TimeUnit.SECONDS);
} else {
scheduler.scheduleAtFixedRate(new RMITimer(player), 1, 60, TimeUnit.SECONDS);
}
}
Что такое переменная isRMI и как вы ее манипулируете? –