码迷,mamicode.com
首页 >  
搜索关键字:threadpoolexecutor    ( 599个结果
多线程(三)
接着说 线程池,使用java自带的线程池,一般的情况下线程池对应的实现类是ThreadPoolExecutor,当然不排除自己来写一个线程池,扯远了,ThreadPoolExecutor 扩展自抽象类AbstractExecutorService,其中AbstractExecutorService ...
分类:编程语言   时间:2014-09-15 17:20:39    阅读次数:241
ThreadPoolExecutor的理解思考
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。前记:jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maxim...
分类:其他好文   时间:2014-09-14 23:18:17    阅读次数:304
理解ThreadPoolExecutor源码(一)线程池的corePoolSize、maximumPoolSize和poolSize
我们知道,受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。也就是说ThreadPoolExecutor管理的线程数量是有界的。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允许的最大线程数多很多。为了解决这个问题,必须要引入排队机制,或者是在内存中,或者是在硬盘等容量很大的...
分类:编程语言   时间:2014-09-13 10:39:45    阅读次数:240
Java线程池的使用
线程池的使用 1.创建线程池 Java线程池的实现是java.util.concurrentThreadPoolExecutor类。先看该类的构造函数,该类提供了4个构造函数,但最终都调用了参数最多的一个,也就是说如果你选择其他的构造函数,某些值会使用默认值。我们看最负责的一个构造函数: public ThreadPoolExecutor(int corePoolSize,...
分类:编程语言   时间:2014-09-09 13:28:08    阅读次数:435
Java 并发编程之线程池的使用 (三)
线程工厂 在调用构造函数后再定制ThreadPoolExecutor 扩展ThreadPoolExecutor 递归算法的并行化...
分类:编程语言   时间:2014-09-07 22:30:15    阅读次数:328
Java 并发编程之线程池的使用 (二)
设置线程池的大小 配置ThreadPoolExecutor 管理队列任务 饱和策略...
分类:编程语言   时间:2014-09-06 22:33:34    阅读次数:353
线程池实例:使用Executors和ThreadPoolExecutor
线程池负责管理工作线程,包含一个等待执行的任务队列。线程池的任务队列是一个Runnable集合,工作线程负责从任务队列中取出并执行Runnable对象。java.util.concurrent.executors 提供了 java.util.concurrent.executor 接口的一个Java...
分类:编程语言   时间:2014-09-04 14:41:29    阅读次数:243
应用线程池ThreadPoolExecutor
在配置和调整应用线程池的时候,首先考虑的是线程池的大小。 线程池的合理大小取决于未来提交的任务类型和所部署系统的特征。定制线程池的时候需要避免线程池的长度“过大”或者“过小”这两种极端情况。 线程池过大:那么线程对稀缺的CPU和内存资源的竞争,会导致内存高使用量,还可能耗尽资源。 线程池过小:由于存在很多可用的处理器资源还未工作,会对吞吐量造成损失。 精密的计算出线程池的确切大小是很困难的,一般我们会估算出一个合理的线程池大小。...
分类:编程语言   时间:2014-08-31 18:43:41    阅读次数:312
Java 线程池学习
Reference: 《创建Java线程池》[1],《Java线程:新特征-线程池》[2], 《Java线程池学习》[3],《线程池ThreadPoolExecutor使用简介》[4],《Java5中的线程池实例讲解》[5],《ThreadPoolExecutor使用和思考》[6][1]中博主自己通...
分类:编程语言   时间:2014-08-30 02:20:48    阅读次数:315
理解ThreadPoolExecutor源码(二)execute函数的巧妙设计和阅读心得
使用这么多if-else就是为了性能考虑,减小锁的使用范围,避免execute方法整个执行过程中都持有mainLock锁。可以看到只有调用addIfUnderCorePoolSize、ensureQueuedTaskHandled、addIfUnderMaximumPoolSize这3个方法才需要持有锁。如果新提交的任务,不会进入这3个方法,那么就不需要持有锁。我们来看下,execute方法的设计是否能够有效地减少进入这3个方法的次数,实现快进快出。...
分类:其他好文   时间:2014-08-29 00:10:16    阅读次数:332
599条   上一页 1 ... 57 58 59 60 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!