Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
import java.util.*; import java.util.concurrent.*; public class ExecutorServiceDemo { static int fibonacci(int n) { if (n <= 1) return n; return fibonacci(n - 1) + fibonacci(n - 2); } public static void main(String[] args) throws InterruptedException, ExecutionException { // Fixed thread pool with 3 workers ExecutorService executor = Executors.newFixedThreadPool(3); // Submit Callable tasks that return results List<Future<Integer>> futures = new ArrayList<>(); int[] inputs = {10, 15, 20, 25, 30}; for (int n : inputs) { Future<Integer> future = executor.submit(() -> fibonacci(n)); futures.add(future); } // Collect results for (int i = 0; i < inputs.length; i++) { try { int result = futures.get(i).get(5, TimeUnit.SECONDS); System.out.printf("fibonacci(%d) = %d%n", inputs[i], result); } catch (TimeoutException e) { System.out.println("Task " + i + " timed out"); futures.get(i).cancel(true); } } // Proper shutdown executor.shutdown(); boolean done = executor.awaitTermination(10, TimeUnit.SECONDS); System.out.println("Executor terminated cleanly: " + done); // ScheduledExecutorService example ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate( () -> System.out.println("Tick at " + System.currentTimeMillis()), 0, 200, TimeUnit.MILLISECONDS); Thread.sleep(700); scheduler.shutdownNow(); } }
Result
Open