具体流程如下: 1)当池子大小小于corePoolSize就新建线程,并处理请求 2)当池子大小等于corePoolSize,把请求放入workQueue中,池子里的空闲线程就去从workQueue中取任务并处理 3)当workQueue放不下新入的任务时,新建线程入池,并处理请求,如果池子大小撑到 ...
分类:
其他好文 时间:
2017-06-18 18:12:37
阅读次数:
105
jdk1.7.0_79 在上一篇《ThreadPoolExecutor线程池原理及其execute方法》中提到了线程池ThreadPoolExecutor的原理以及它的execute方法。本文解析ThreadPoolExecutor#submit。 对于一个任务的执行有时我们不需要它返回结果,但是有 ...
分类:
编程语言 时间:
2017-06-17 13:46:10
阅读次数:
193
jdk1.7.0_79 对于线程池大部分人可能会用,也知道为什么用。无非就是任务需要异步执行,再者就是线程需要统一管理起来。对于从线程池中获取线程,大部分人可能只知道,我现在需要一个线程来执行一个任务,那我就把任务丢到线程池里,线程池里有空闲的线程就执行,没有空闲的线程就等待。实际上对于线程池的执行 ...
分类:
编程语言 时间:
2017-06-16 10:05:37
阅读次数:
138
java中Executor、ExecutorService、ThreadPoolExecutor介绍 ...
分类:
编程语言 时间:
2017-06-15 19:00:15
阅读次数:
147
线程工厂的使用: 在创建线程时,应该要初始化它的线程名称,以便以后更好的查找错误,下面的示例展示了线程工厂的使用,创建线程是并发的,因此count使用原子类。 测试类: 扩展ThreadPoolExecutor 下面演示使用给线程增加日志和计时功能,startTime使用ThreadLocal是因为 ...
分类:
编程语言 时间:
2017-06-11 20:19:02
阅读次数:
227
MainActivity例如以下: package cc.vv; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.con ...
分类:
移动开发 时间:
2017-06-09 09:53:51
阅读次数:
260
1. ThreadPoolExecutor逻辑结构和工作方式 我们创建线程池的时候使用了ThreadPoolExecutor中最简单的一个构造函数: 构造函数中需要传入的参数包括corePoolSize、maximumPoolSize、keepAliveTime、timeUnit和workQueue ...
分类:
编程语言 时间:
2017-06-07 18:53:11
阅读次数:
172
1. 引言 合理利用线程池能够带来三个好处。 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性, ...
分类:
编程语言 时间:
2017-06-07 17:31:39
阅读次数:
224
前言 上一篇文章中我们将ThreadPoolExecutor进行了深入的学习和介绍,实际上我们在项目中应用的时候非常少有直接应用ThreadPoolExecutor来创建线程池的。在jdk的api中有这么一句话“可是,强烈建议程序猿使用较为方便的 Executors 工厂方法Executors.ne ...
分类:
编程语言 时间:
2017-05-31 12:08:51
阅读次数:
970
线程池的好处 1. 降低资源的消耗 通过重复利用已创建的线程降低线程创建和销毁所造成的消耗 2. 提高响应速度 当任务到达时,任务可以不需要等到线程创建就能立即执行 3. 提高线程的可管理型 线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优 ...
分类:
编程语言 时间:
2017-05-23 22:37:07
阅读次数:
191