ExecutorService exec = Executors.newFixedThreadPool(4); List<Future<Integer>> futures = new ArrayList<>(); Callable<Integer> task; for (int i = 0;i<4;i++) { task = () -> { TimeUnit.SECONDS.sleep(50); return 1; }; Future<Integer> futureNow = exec.submit(task); futures.add(futureNow); } // List<Future<Integer>> futures = exec.invokeAll(tasks); for (Future<Integer> future : futures) { try { Integer intRes = future.get(2000, TimeUnit.MILLISECONDS); System.out.println("second verify result integer : " + intRes); } catch (TimeoutException ex) { System.out.println("video second verify overtime error "); future.cancel(true); } catch (Exception e) { System.out.println("video second verify others error"); future.cancel(true); } } exec.shutdown();
待完善