package com.company; import java.util.concurrent.*; public class 线程池 { public static void main(String[] args) { long start = System.currentTimeMillis(); ExecutorService executor = Executors.newFixedThreadPool(1000); for (int i = 1000; i <= 50000; i++) { try { System.out.println(executor.submit(new MyCallable(i)).get()); } catch (Exception e) { e.printStackTrace(); } } executor.shutdown(); /* try { for (int i = 1000; i <= 50000; i++) { int sum = 0; for (int j = 0; j <= i; j++) { sum += j; } Thread.sleep(10); System.out.println(sum); } }catch (Exception e) { e.printStackTrace(); } */ long end = System.currentTimeMillis(); System.out.println(end - start); } } class MyCallable implements Callable<Integer> { private int n; public MyCallable(int n) { this.n = n; } @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i <= n; i++) { sum += i; } Thread.sleep(1); return sum; } }