java线程池参数
Java线程池是一种特殊的线程组,用来重用的维护线程,可以提高应用的响应速度、减少资源的消耗。它管理和调度创造在它存在的线程,使程序结构更形规则,提高程序的可靠性、测试性、应用的可维护性。
Java线程池的参数一般来说,都可以用于在构造函数中设置,但也可以通过set方法进行改变,常见的参数有:
1、核心线程数:即线程池中核心线程容量,每个核心线程会被一直保持,即使没有任务要供它处理,通常来说设置为CPU个数加1到两倍的核心线程数是比较合适的。
2、最大线程数:线程池能够容纳线程的最大数量,超过这个数量后,任务将会被拒绝,直到有线程结束。
java线程池创建的四种3、工作队列长度:线程池中用于缓存等待任务的工作队列,通常设置大一点比较安全,如果配置长度为Integer.MAX_VALUE,即是没有限制,如果短,当任务多于容量时,多出来的将会通过拒绝策略处理。
4、超时时间:要求线程池在获取空闲线程的时候,在多少秒响应,如果没有空闲线程,可以新创建,如果超出设定时间根据拒绝策略处理。
5、拒绝策略:当等待队列已满,无法提交任务时,会用到拒绝策略,其中常用的拒绝策略有:
DiscardPolicy(直接抛弃任务)、AbortPolicy(抛出异常)、DiscardOldestPolicy(抛弃最老的任务)等。
6、保留时间:线程池中的空的线程能够保留的最大时间,如果空闲时间大于这个值,线程就会被回收,默认是30秒,单位毫秒,设置为非正数表示不回收线程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论