ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(10)); ListenableFuture<Integer> future = executorService.submit(() -> { return 42; }); Futures.addCallback(future, new FutureCallback<Integer>() { public void onSuccess(Integer result) { System.out.println("Task completed successfully. Result: " + result); } public void onFailure(Throwable t) { System.out.println("Task failed with exception: " + t.getMessage()); } }); executorService.shutdown(); ListeningExecutorService executorService = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(10)); List<ListenableFuture<Integer>> futures = new ArrayList<>(); for (int i = 0; i < 10; i++) { int finalI = i; ListenableFuture<Integer> future = executorService.submit(() -> { return finalI * 2; }); futures.add(future); } ListenableFuture<List<Integer>> combinedFuture = Futures.allAsList(futures); Futures.addCallback(combinedFuture, new FutureCallback<List<Integer>>() { public void onSuccess(List<Integer> result) { System.out.println("All tasks completed successfully. Results: " + result); } public void onFailure(Throwable t) { System.out.println("At least one task failed with exception: " + t.getMessage()); } }); executorService.shutdown(); <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1-jre</version> </dependency>


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