码迷,mamicode.com
首页 >  
搜索关键字:threadpoolexecutor源码    ( 30个结果
JAVA 笔记(五) ThreadPoolExecutor 源码剖析
基本概念 Thread t = new Thread(); t.start();上面的代码我们再熟悉不过了,因为我们通常在需要开启一个线程的时候都会这样做。 但使用这样的方式,有时候也会照成困扰。例如如果程序中存在大量的并发线程,这样做会带来什么缺陷? 答案很明显,会造成编写工作繁杂,降低系统效率,线程难以管理等等问题。在这种情况下,有没有一种方式能够让我们...
分类:编程语言   时间:2016-06-09 22:19:53    阅读次数:257
for循环的特殊用法
再看ThreadPoolExecutor源码中看到如图所示代码:这是为了在内层的多级for循环中能有效控制循环打断和终止的特殊写法。可以参考:http://biancheng.dnbcw.info/java/99880.html
分类:其他好文   时间:2016-03-23 20:17:36    阅读次数:167
第十四章 Executors源码解析
前边两章介绍了基础线程池ThreadPoolExecutor的使用方式、工作机理、参数详细介绍以及核心源码解析。具体的介绍请参照:第十二章 ThreadPoolExecutor使用与工作机理第十三章 ThreadPoolExecutor源码解析1、Executors与ThreadPoolExecut...
分类:其他好文   时间:2016-01-22 02:54:44    阅读次数:221
ThreadPoolExecutor源码详解
我之前一篇文章谈到了ThreadPoolExecutor的作用(http://my.oschina.net/xionghui/blog/494004),这篇文章介绍下它的原理,并根据原理分析下它的实现源码。 我们先来查看一下ThreadPoolExecutor API,看看它能实...
分类:其他好文   时间:2015-08-19 17:53:39    阅读次数:228
ThreadPoolExecutor源码解析
java doc中的解释是:AnExecutorServicethat executes each submitted task using one of possibly several pooled threads, normally configured usingExecutorsfacto...
分类:其他好文   时间:2015-07-09 21:07:57    阅读次数:205
Java并发包源码学习之线程池(一)ThreadPoolExecutor源码分析
Java中使用线程池技术一般都是使用Executors这个工厂类,它提供了非常简单方法来创建各种类型的线程池:public static ExecutorService newFixedThreadPool(int nThreads)public static ExecutorService new...
分类:编程语言   时间:2015-04-18 22:01:45    阅读次数:203
ThreadPoolExecutor源码学习(2)-- 在thrift中的应用
thrift作为一个从底到上除去业务逻辑代码,可以生成多种语言客户端以及服务器代码,涵盖了网络,IO,进程,线程管理的框架,着实庞大,不过它层次清晰,4层每层解决不同的问题,可以按需取用,相当方便。+-------------------------------------------+| Serv...
分类:其他好文   时间:2014-12-15 14:58:29    阅读次数:180
ThreadPoolExecutor源码学习(1)-- 主要思路
ThreadPoolExecutor是JDK自带的并发包对于线程池的实现,从JDK1.5开始,直至我所阅读的1.6与1.7的并发包代码,从代码注释上看,均出自Doug Lea之手,从代码上看JDK1.7几乎是重写了ThreadPoolExecutor的实现代码,JDK1.6的实现比较晦涩难懂,不便于...
分类:其他好文   时间:2014-12-14 18:25:46    阅读次数:320
理解ThreadPoolExecutor源码(一)线程池的corePoolSize、maximumPoolSize和poolSize
我们知道,受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。也就是说ThreadPoolExecutor管理的线程数量是有界的。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允许的最大线程数多很多。为了解决这个问题,必须要引入排队机制,或者是在内存中,或者是在硬盘等容量很大的...
分类:编程语言   时间:2014-09-13 10:39:45    阅读次数:240
理解ThreadPoolExecutor源码(二)execute函数的巧妙设计和阅读心得
使用这么多if-else就是为了性能考虑,减小锁的使用范围,避免execute方法整个执行过程中都持有mainLock锁。可以看到只有调用addIfUnderCorePoolSize、ensureQueuedTaskHandled、addIfUnderMaximumPoolSize这3个方法才需要持有锁。如果新提交的任务,不会进入这3个方法,那么就不需要持有锁。我们来看下,execute方法的设计是否能够有效地减少进入这3个方法的次数,实现快进快出。...
分类:其他好文   时间:2014-08-29 00:10:16    阅读次数:332
30条   上一页 1 2 3
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!