文档章节

线程池原理

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
东城
高级程序员

暂无文章

Java IO类库之PrintStreamWriter

* A <code>PrintStream</code> adds functionality to another output stream, * namely the ability to print representations of various data values * conveniently. Two other fea......

老韭菜
56分钟前
0
0
qduoj~前端~二次开发~笔记

青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker。安装环境是Ubuntu14-64bit 1.安装一大...

虚拟世界的懒猫
今天
6
0
ConcurrentHashMap源码解读

部分内容转自:http://jiabinyuan.xyz/#/app/archive/detail/25 内部结构 内部采用了segment结构,每一个segment相当于一个hashtable。看下面的结构图: 从图的结构我们可以了解到,Concurr...

edwardGe
今天
1
0
Ubuntu终端Tab键自动补全

打开 /etc/bash.bashrc,找到下列代码,取消注释。 #enable bash completion in interactive shells#if ! shopt -oq posix; then# if [-f /usr/share/bash-completion/bash_compl......

大熊猫
今天
0
0
polipo socks5代理转http代理

天朝的网络,哎~ 装个 yarn 都时而会卡 假设在SSlocal 已经装好运行的前提下,来安装设置 polipo sudo apt-get install polipo sudo vim /etc/polipo/config 追加下列配置内容,并保存 socksP...

纯洁徐
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部