WDQYES博客

标签:多线程

五种线程池的对比与使用

newCachedThreadPool 1、重用之前的线程 2、适合执行许多短期异步任务的程序。 3、调用 execute() 将重用以前构造的线程 4、如果没有可用的线程,则创建一个新线程并添加到池中 5、默认为60s未使用就被终止和移除 6、长期闲置的池将会不消耗任何资源 例子: public static void cache() { ExecutorService pool = Executors.newCachedThreadPool(); long start = System.currentTimeMillis(); pool.execute(() -> { int sum = 0; for (int i = 0; i < 10; i++) { sum = (int) Math.sqrt(i * i - 1 + i); System.out.println(sum); } }); System.out.println("cache: "