首页 > 编程语言 > 详细

线程池最清晰的理解

时间:2021-04-25 10:37:01      阅读:33      评论:0      收藏:0      [点我收藏+]

线程池,时管理线程的,减少内存消耗的存在

Java给我们提供了一个线程池的类就是 Exceutor

但我们通常使用他的子类 ThreadPoolExecutor

里面有几个常用的变量我在这里说一下技术分享图片

 

 上面这个图是我自己做的,建议大家看一下官方的定义

下面这个图帮助大家理解线程池

技术分享图片

 

 线程池执行任务的流程

技术分享图片

 

 常见的几种拒绝策略   

       AbortPolicy:不执行新任务,提示线程池已满。抛出异常

      DisCardPolicy:不执行新任务,也不抛出异常

       DisCardOldSetPolicy:将消息队列中的第一个任务替换为当前新进来的任务执行

       CallerRunsPolicy:直接调用execute来执行当前任务

常见的线程池

CachedThreadPool:可缓存的线程池,该线程池中没有核心线程,非核心线程的数量无限大适用于耗时少,任务量大的情况。

SecudleThreadPool:周期性执行任务的线程池,有核心线程,但也有非核心线程,非核心线程的大小也为无限大。适用于执行周期性的任务。

SingleThreadPool:只有一条线程来执行任务,适用于有顺序的任务的应用场景。

FixedThreadPool:定长的线程池,有核心线程,没有非核心线程

线程池最清晰的理解

原文:https://www.cnblogs.com/luckbear/p/14698585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!