import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.ConcurrentHashMap; public class ConcurrentExample { public static void main(String[] args) throws InterruptedException { ExecutorService executor = Executors.newFixedThreadPool(5); ConcurrentHashMap<String, Future<Integer>> resultMap = new ConcurrentHashMap<>(); for (int i = 0; i < 10; i++) { final int taskNumber = i; Future<Integer> future = executor.submit(() -> { return taskNumber * 2; }); resultMap.put(String.valueOf(i), future); } executor.shutdown(); while (!executor.isTerminated()) { Thread.sleep(100); } for(String key : resultMap.keySet()){ try { System.out.println("Task " + key + " result: " + resultMap.get(key).get()); } catch (Exception e) { e.printStackTrace(); } } } }


上一篇:
下一篇:
切换中文