
package com.logicbig.example;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import java.time.LocalTime;
public class ThreadPoolTaskSchedulerExample {
public static void main(String[] args) throws InterruptedException {
ThreadPoolTaskScheduler s = new ThreadPoolTaskScheduler();
s.setPoolSize(5);
s.initialize();
for (int i = 0; i < 2; i++) {
int finalI = i;
s.scheduleAtFixedRate(
() -> System.out.printf("Task: %s, Thread: %s, Time: %s%n",
finalI,
Thread.currentThread().getName(),
LocalTime.now()), 1000);
}
Thread.sleep(10000);
//shutting down after 10 sec
s.getScheduledThreadPoolExecutor().shutdownNow();
}
}
Output
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:06.504676100
Task: 1, Thread: ThreadPoolTaskScheduler-1, Time: 20:39:06.504676100
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:07.503680800
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 20:39:07.505095500
Task: 1, Thread: ThreadPoolTaskScheduler-4, Time: 20:39:08.575560400
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:08.575560400
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:09.503270500
Task: 1, Thread: ThreadPoolTaskScheduler-5, Time: 20:39:09.506271200
Task: 0, Thread: ThreadPoolTaskScheduler-4, Time: 20:39:10.503615300
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 20:39:10.504616900
Task: 1, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:11.509843800
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 20:39:11.509843800
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 20:39:12.503454400
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 20:39:12.504939200
Task: 0, Thread: ThreadPoolTaskScheduler-5, Time: 20:39:13.504138
Task: 1, Thread: ThreadPoolTaskScheduler-5, Time: 20:39:13.504138
Task: 0, Thread: ThreadPoolTaskScheduler-4, Time: 20:39:14.503608
Task: 1, Thread: ThreadPoolTaskScheduler-1, Time: 20:39:14.504774600
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 20:39:15.503183100
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 20:39:15.505453700
Task: 0, Thread: ThreadPoolTaskScheduler-5, Time: 20:39:16.503429500
Task: 1, Thread: ThreadPoolTaskScheduler-4, Time: 20:39:16.504646
Original Post