В приложении есть два таймера. Первый после старта работает нормально, щелкает раз в секунду, отрабатывает игровую логику.
GameTimer = new Timer();
gtTask = new GameTimerTask();
gtTask.setGame(this);
GameTimer.schedule(gtTask, 0, 1000);
Пытаюсь запустить второй таймер
KrabSupTimer = new Timer();
KrabSupTimer.schedule(new TimerTask() { // Определяем задачу
@Override
public void run()
{
// Вернем к жизни краба
CatSupMan = false;
KrabSupTimer.cancel();
}
}, 0L, 20L * 1000);
По идее должна выдерживаться пауза в 20 секунд. Но, почему-то переменная CatSupMan обнуляется моментально.
Вопрос, в чем может быть проблема?
З.Ы.Ж. Не может ли помочь переделка кода на использование ScheduledThreadPoolExecutor?
Если обратиться к официальным докам, то увидим
public void schedule(TimerTask task,
long delay,
long period)
Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay. Далее опущено.
delay - отсрочка задания.
period - период выполнения.
У вас, как видно delay = 0.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как после редактирования данных пользоватилем таблицы TabbleView по нажатию на кнопку Save считать данные из таблицы TableView
Есть задача скачать фото которое было отправлено ботуПытаюсь делать и в результате появились вопросы
Есть листС каждым элементом я в отдельном потоке провожу работу