import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class AdvancedConcurrency {
public static void main(String[] args) {
// Create a thread pool with 4 fixed threads
ExecutorService executor = Executors.newFixedThreadPool(4);
for (int i = 0; i < 10; i++) {
int taskId = i;
executor.submit(() -> {
System.out.println("Task " + taskId + " running on: " + Thread.currentThread().getName());
});
}
executor.shutdown();
try {
if (!executor.awaitTermination(60, TimeUnit.SECONDS)) {
executor.shutdownNow();
}
} catch (InterruptedException e) {
executor.shutdownNow();
}
}
}
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class AdvancedConcurrency {
public static void main(String[] args) {
// Create a thread pool with 4 fixed threads
ExecutorService executor = Executors.newFixedThreadPool(4);
}