线程池底层源码解析

139 阅读1分钟

线程是调度CPU的最小执行单元

线程模型分类

  •      用户级线程

            应用自己去维护自己去创建和调度

  •      内核级线程

           内核去创建去管理

JVM是内核级线程

java线程和系统内核线程

Java线程创建是依赖于系统内核,通过JVM调用系统库来创建内核线程


线程池的优势

重用存在的线程,减少线程的创建,消亡的开销,提高性能

提高相应速度,当任务到达时,任务不需要等到线程创建就能立即执行

提高线程的可管理性,线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以统一的分配,调优和监控

什么时候需要使用线程池

单个任务时间比较短

需要处理的任务量比较大的

线程池原理:就是一些线程的集合,线程的状态不是死亡状态,当线程池从外面接受任务时,线程池管理器会查看是否有是否有空闲线程,如果有,会分配给它,若没有,任务处于等待队列中。