005.线程池的工作原理——线程复用——线程池的核心组件和核心类——Java线程池的工作流程——线程池的拒绝策略
3.2线程池的工作原理
Java线程池主要用于管理线程组及运行状态,以便Java虚拟机更好地利用CPU资源。Java线程池的工作原理为:JVM先根据用户的参数创建一定数量的可运行的线程任务,并将其放入队列中,在线程创建后启动这些任务,如果正在运行的线程数量超过了最大线程数量(用户设置的线程池大小),则超出数量的线程排列等候,在有任务执行完毕后,线程池调度器会发现可用的线程,进而再次从队列中取出任务并执行。
3.3 五种常用的线程池
Java定义了Executor接口并在该接口中定义了execute()用于执行一个线程任务,然后通过ExecutorService实现Executor接口并执行具体的线程操作.ExecutorService接口和多个实现类可用于创建不同的线程池,如下所示5种常用的线程池: