文档章节

线程池原理

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

线程池优势

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

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

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

线程池常用工具类

   1. ThreadPoolExecutor

        涉及到的操作方法

        创建单例线程 : newSingleThreadExecutor()    

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

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

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

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

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

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

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

   2. ScheduledThreadPoolExecutor 固定线程

   3. FutureTask

      

© 著作权归作者所有

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

暂无相关文章

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 13分钟前 ⋅ 0

Java学习路径及练手项目合集

Java学习路径及练手项目合集

颖伙虫 ⋅ 29分钟前 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 54分钟前 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

MVC——统一报文格式的异常处理响应

在我们写controller层的时候,常常会有这样的困惑,如果需要返回一个数据是,可能为了统一回去构造一个类似下列的数据格式: { status:true, msg:"保存成功!", data:[]} 而且在写...

alexzhu592 ⋅ 昨天 ⋅ 0

android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。 如果手机本身...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部