线程和数据库连接这些资源都是非常宝贵的资源。那么每次需要的时候创建,不需要的时候销毁,是非常浪费资源的。那么我们就可以使用缓存的策略,也就是使用线程池。
线程池提供了一种限制和管理资源(包括执行一个任务)。每个线程池还可以维护一些基本统计信息,例如已完成任务的数量。
使用线程池的好处:
一、降低资源消耗。 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
二、提高响应速度。 当任务到达时,任务可以不需要等到线程创建就能立即执行。
三、提高线程的可管理性。 线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
// 创建线程池 ExecutorService threadPool = Executors.newFixedThreadPool(10); while(true) { threadPool.execute(new Runnable() { // 提交多个线程任务,并执行 @Override public void run() { System.out.println(Thread.currentThread().getName() + " is running .."); try { Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } } }); } }