Отмените существующие задачи и запланируйте новые по таймеру - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь написать программу таймера, которая может принимать операции по расписанию для запуска по истечении определенного периода времени. Когда появляется новое запланированное задание, оно должно отменить все старые задания и выполнить только самое новое запланированное.

Я пытался использовать Timer и ScheduledThreadPoolExecutor. Однако после того, как я позвоню cancel() на Timer, он выдаст IllegalStateException, если я планирую новые задачи; с ScheduledThreadPoolExecutor я не могу отменить задания.

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

Могу ли я достичь этого с помощью класса Timer? Если нет, как это сделать простым и эффективным способом?

...