说一说java线程池
2021-01-03 04:28
标签:启动 article exe keep time 通过 详细 live 创建线程 回答这个面试题要从线程池的好处,线程池如何使用和线程池启动时执行的策略来说 线程池的好处: 如何使用线程池: 上述中线程池创建方式创建线程之后,通过execute()方法启动线程池 线程池启动时执行的策略: 执行execute()方法前提是线程池中要有线程,不然编译不通过, 在线程池执行execute()方法后, 先解释corePoolSize:线程池的核心大小 maximumPoolSize:线程池最大线程数(每个线程池都不一样) 1.首先会判断当前的线程池的corePoolSize大小,是否存满了这个大小的线程数,如果够了就放入等待队列中, 2.如果等待队列也满了并且当前正在运行的线程数量小于?maximumPoolSize,那么依然会执行这个线程, 3.如果大于了maximumPoolSize,则会抛出异常。 继续说上边的,如果没有存满,则会直接执行线程。 4.当一个线程执行完,会马上从任务队列取出一个任务去执行。 5.如果一个线程很长时间没有执行任务,这个 很长时间就是keepAliveTime,超出了这个时间且当前运行的线程大于corePoolSize,这个线程就会被销毁,所以说,所有任务执行完之后,等待一会,线程池就会变回corePoolSize的大小。 更详细参考: 说一说java线程池 标签:启动 article exe keep time 通过 详细 live 创建线程 原文地址:https://www.cnblogs.com/treasury/p/12991821.html请叙述一下您对线程池的理解?
刚开始创建线程池的时候是没有池容器中是没有线程的。
https://blog.csdn.net/qq_29373285/article/details/85238728
https://blog.csdn.net/fuyuwei2015/article/details/72758179
https://www.cnblogs.com/dolphin0520/p/3932921.html
上一篇:c语言特性