文档章节

线程池原理

newworld2010
 newworld2010
发布于 2016/10/07 09:52
字数 261
阅读 32
收藏 0

线程池优势

    1. 减少资源消耗: 降低线程的重复创建和销毁频率

    2. 提高业务的响应时间: 请求到服务后,有待用线程直接处理业务,省略创建和销毁过程

    3. 便于管理:由线程管理器统一管理线程的创建,销毁和检测工作,保证线程池的大小保持在合理区间,而不会无上限,导致资源浪费

线程池常用工具类

   1. ThreadPoolExecutor

        涉及到的操作方法

        创建单例线程 : newSingleThreadExecutor()    

                内部队列由 LinkedBlockingQueue 阻塞队列实现任务缓存  

                LinkedBlockingQueue 根据 ReentrantLock 重入锁实现线程通信和阻塞

        创建固定数量的线程: newFixedThreadExecutor(10)   

               内部队列由 LinkedBlockingQueue 阻塞队列实现任务缓存

               LinkedBlockingQueue 根据 ReentrantLock 重入锁实现线程通信和阻塞

        根据请求创建线程,本身没有缓存任务: newCachedThreadExecutor() 

               内部由synchronousQueue实现内部没有容量的队列

   2. ScheduledThreadPoolExecutor 固定线程

   3. FutureTask

      

© 著作权归作者所有

共有 人打赏支持
newworld2010
粉丝 4
博文 35
码字总数 2831
作品 0
东城
高级程序员
私信 提问

暂无文章

solr使用规范

0. 目的 规范solr设计、用法,避免bug,提高性能 1. 设计规范 solr的用途是查询,不是存储,建议查询结果尽量都为id主键,而后再拿该id主键到缓存或者db中再查询相关信息,例如:请勿将经销商...

andersChow
13分钟前
1
0
11-《深度拆解JVM》之Java对象的内存布局

一、问题引入 在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对...

飞鱼说编程
18分钟前
1
0
Windows Install Docker

win7、win8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker toolbox...

linuxprobe16
22分钟前
0
0
混合云环境中扩展Kubernetes的挑战及方案

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您...

RancherLabs
30分钟前
1
0
Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一...

傅小水water
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部