I would like to use ScheduledExecutorService
to export some data in scheduled manner.
In my code below I have called 2 different task in 2 different time intervals. There will be a chance where multiple task is schedule in 1 ScheduledExecutorService
when user creates multiple scheduling to export multiple data(different reports).
Is it safe to use single
ScheduledExecutorService
to run more than one task?Is it possible to stop one of the task(Eg.
service.scheduleAtFixedRate(runnable2, 0, 10, TimeUnit.SECONDS);
) if user deletes specific scheduling?public static void main(String... args) { Runnable runnable = new Runnable() { public void run() { // task to run goes here System.out.println("Every 5 sec: "+ new java.util.Date()); } }; Runnable runnable2 = new Runnable() { public void run() { // task to run goes here System.out.println("Every 10 sec: "+ new java.util.Date()); } }; ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); service.scheduleAtFixedRate(runnable, 0, 5, TimeUnit.SECONDS); service.scheduleAtFixedRate(runnable2, 0, 10, TimeUnit.SECONDS); }