java.util.concurrent · java.base · since Java 1.5

ScheduledExecutorService

declaration
public interface ScheduledExecutorService extends ExecutorService

Delayed and periodic execution: schedule one-shots, fixed-rate (clock-aligned) or fixed-delay (gap-aligned) repeating tasks. The modern Timer.

Key methods

ScheduledFuture<?> schedule(Runnable, delay, unit)One-shot after a delay.
scheduleAtFixedRate(task, initial, period, unit)Every period, regardless of task duration (skips pile up).
scheduleWithFixedDelay(task, initial, delay, unit)Delay measured from each completion.