java线程池小结

什么是线程池?

一种线程管理模式。线程维护着多个线程,等待着分配可并发执行的任务。这避免了在处理短时间任务时创建和销毁线程的代价,进而影响影响缓存性能。线程池不仅不仅保证内核的充分利用,还能防止过分调度。

线程池的意义

循环利用线程资源,避免重复创建和销毁线程

线程池的任务是异步执行的,只要提交完成就能快速返回,可以提高应用响应性

Java线程池还有一个很重要的意义:Java线程池就是JDK 5 推出的Executor框架,在此之前Java线程既是工作任务又是执行机制,而Executor框架把工作任务与执行机制分离开来:工作任务包括Runnable接口和Callable接口,而执行机制由Executor接口提供。

Java中四种线程池

  1. newFixedThreadExecutor() : 创建固定大小的线程池。每次提交一个任务就创建一个线程,直到线程达到线程池的最大大小。线程池的大小一旦达到最大值就会保持不变,如果某个线程因为执行异常而结束,那么线程池会补充一个新线程。