Close

Spring Framework - ConcurrentTaskScheduler Examples

[Last Updated: Oct 30, 2025]

Spring Framework 

package com.logicbig.example;

import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler;
import org.springframework.scheduling.support.PeriodicTrigger;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ConcurrentTaskSchedulerExample {

public static void main (String[] args) throws InterruptedException {
ConcurrentTaskScheduler s = new ConcurrentTaskScheduler(
Executors.newScheduledThreadPool(5));
for (int i = 0; i < 10; i++) {
final int finalI = i;
s.schedule(() -> {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.printf("task: %d. Thread: %s%n",
finalI,
Thread.currentThread().getName());
}, new PeriodicTrigger(1000));
}
//shutting down after 5 sec
Thread.sleep(5000);
((ExecutorService) s.getConcurrentExecutor()).shutdown();
}
}

Output

task: 2. Thread: pool-1-thread-3
task: 0. Thread: pool-1-thread-1
task: 3. Thread: pool-1-thread-5
task: 4. Thread: pool-1-thread-4
task: 1. Thread: pool-1-thread-2
task: 9. Thread: pool-1-thread-2
task: 5. Thread: pool-1-thread-1
task: 6. Thread: pool-1-thread-3
task: 7. Thread: pool-1-thread-5
task: 8. Thread: pool-1-thread-4
task: 0. Thread: pool-1-thread-1
task: 4. Thread: pool-1-thread-5
task: 2. Thread: pool-1-thread-2
task: 3. Thread: pool-1-thread-3
task: 1. Thread: pool-1-thread-4
task: 5. Thread: pool-1-thread-5
task: 9. Thread: pool-1-thread-1
task: 6. Thread: pool-1-thread-2
task: 8. Thread: pool-1-thread-4
task: 7. Thread: pool-1-thread-3
task: 3. Thread: pool-1-thread-3
task: 1. Thread: pool-1-thread-5
task: 4. Thread: pool-1-thread-2
task: 2. Thread: pool-1-thread-4
task: 0. Thread: pool-1-thread-1
task: 5. Thread: pool-1-thread-3
task: 6. Thread: pool-1-thread-2
task: 9. Thread: pool-1-thread-5
task: 8. Thread: pool-1-thread-4
task: 7. Thread: pool-1-thread-1
task: 3. Thread: pool-1-thread-3
task: 0. Thread: pool-1-thread-1
task: 4. Thread: pool-1-thread-5
task: 1. Thread: pool-1-thread-2
task: 2. Thread: pool-1-thread-4
task: 6. Thread: pool-1-thread-3
task: 8. Thread: pool-1-thread-4
task: 9. Thread: pool-1-thread-1
task: 5. Thread: pool-1-thread-5
task: 7. Thread: pool-1-thread-2
Original Post




See Also