Самый простой способ реализовать это, используя Executor .
Допустим, вы хотите запланировать выполнение задачи за 30 секунд:
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.schedule(new Task(), 30, TimeUnit.SECONDS);
Task
должен быть классом, реализующим интерфейс Runnable
:
class Task implements Runnable
{
public void run()
{
// do your magic here
}
}
Если вам нужно остановить выполнение вашей задачи, вы можете использовать shutdownNow
метод:
// prevents task from executing if it hasn't executed yet
scheduler.shutdownNow();