
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: 16:06:59.036757200
Task: 1, Thread: ThreadPoolTaskScheduler-1, Time: 16:06:59.036757200
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 16:07:00.038610
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 16:07:00.038610
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 16:07:01.034358700
Task: 1, Thread: ThreadPoolTaskScheduler-4, Time: 16:07:01.050179300
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 16:07:02.043377800
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 16:07:02.043377800
Task: 0, Thread: ThreadPoolTaskScheduler-2, Time: 16:07:03.035622200
Task: 1, Thread: ThreadPoolTaskScheduler-1, Time: 16:07:03.051666600
Task: 0, Thread: ThreadPoolTaskScheduler-4, Time: 16:07:04.048542900
Task: 1, Thread: ThreadPoolTaskScheduler-5, Time: 16:07:04.048542900
Task: 0, Thread: ThreadPoolTaskScheduler-4, Time: 16:07:05.035118300
Task: 1, Thread: ThreadPoolTaskScheduler-2, Time: 16:07:05.050567100
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 16:07:06.044956900
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 16:07:06.044956900
Task: 1, Thread: ThreadPoolTaskScheduler-4, Time: 16:07:07.039266500
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 16:07:07.039266500
Task: 0, Thread: ThreadPoolTaskScheduler-1, Time: 16:07:08.034811600
Task: 1, Thread: ThreadPoolTaskScheduler-3, Time: 16:07:08.050267
Task: 0, Thread: ThreadPoolTaskScheduler-4, Time: 16:07:09.048286800
Original Post