Java scheduledexecutorservice
Java ScheduledExecutorService
is a specialized implementation of the ExecutorService
interface that allows you to schedule tasks to be executed at a specific time or after a specific delay. It provides a way to execute tasks periodically or at a fixed rate.
ScheduledExecutorService
is created using the Executors.newScheduledThreadPool()
method, which returns a thread pool that can execute scheduled tasks. The schedule()
method is used to schedule a task to be executed at a specific time or after a specific delay, while the scheduleAtFixedRate()
and scheduleWithFixedDelay()
methods are used to schedule tasks to be executed periodically or at a fixed rate.
Here's an example of how to use ScheduledExecutorService
in Java to execute a task after a delay of 5 seconds:
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); executor.schedule(() -> { System.out.println("Task executed after a delay of 5 seconds"); }, 5, TimeUnit.SECONDS);Source:i.wwwgiftidea.com
In this example, a new ScheduledExecutorService
is created with a thread pool of 1 thread. The schedule()
method is then called to schedule a task to be executed after a delay of 5 seconds. The task is defined using a lambda expression that prints a message to the console.
Similarly, to execute a task periodically, you can use the scheduleAtFixedRate()
method as shown in the following example:
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); executor.scheduleAtFixedRate(() -> { System.out.println("Task executed every 1 second"); }, 0, 1, TimeUnit.SECONDS);
In this example, the scheduleAtFixedRate()
method is used to schedule a task to be executed every 1 second. The task is defined using a lambda expression that prints a message to the console.
ScheduledExecutorService
provides a convenient and efficient way to execute tasks at specific times, after a delay, or periodically, without the need for manual scheduling and synchronization.