ThreadPoolExecutor是一个非常重要的类,用来构建带有线程池的任务执行器,通过配置不同的参数来构造具有不同规格线程池的任务执行器。写在前面的是:线程池和任务执行器,线程池的定义比较直接,可以看做多个线程的集合。而任务执行器的概念比较的具有针对性,它用来执行任务,通过对线程池的管理实现多...
分类:
其他好文 时间:
2014-10-06 03:04:29
阅读次数:
354
一。从用法入手Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available.These pools wil...
分类:
其他好文 时间:
2014-09-29 02:31:56
阅读次数:
228
前面我们已经学习了使用ThreadPoolExecutor类来实现自动创建和运行线程。但是na'xie...
分类:
编程语言 时间:
2014-09-26 23:09:18
阅读次数:
312
1、当一个有限队列充满后,线程池的饱和策略开始起作用。2、ThreadPoolExecutor的饱和策略通过调用setRejectedExecutionHandler来修改。不同的饱和策略如下:1)AbortPolicy:中止,executor抛出未检查RejectedExecutionExcept...
分类:
编程语言 时间:
2014-09-24 20:29:57
阅读次数:
204
线程池和ThreadPoolExecutors
虽然在程序中可以直接使用Thread类型来进行线程操作,但是更多的情况是使用线程池,尤其是在Java EE应用服务器中,一般会使用若干个线程池来处理来自客户端的请求。Java中对于线程池的支持,来自ThreadPoolExecutor。一些应用服务器也确实是使用的ThreadPoolExecutor来实现线程池。
对于线程池的性能调优,最...
分类:
编程语言 时间:
2014-09-24 00:17:25
阅读次数:
434
以前我们创建线程的时候都是主动的new一个Thread,然后调用他们的start方法,但是如果线程非常多,任务也非
常多的时候,这样写就会显得非常麻烦,当然可能效率也不是很高,Java给我们提供了叫线程创建器这个样概念的类,
他可以帮助我们管理这些线程,你做的就是编写好代码,然后交给他,她就会自动帮你运行。
当然,带cache的threadpool 对于死掉的线程重新调用,在性能上也会有非常...
分类:
编程语言 时间:
2014-09-23 23:02:15
阅读次数:
315
ThreadPoolExecutor提供了另一个非常强有力的接口,那就是callable。这个接口和runnable类似,但是实现这个
接口的方法是call方法,这个方法是可以返回值的,弥补了runnable不能返回值的悲哀。而且这个方法可以配合ThreadP
oolExecutor使用,获得Future接口,从这个接口的名字我们就能知道,返回的这个类似于指向这个线程的一个指针,我
们能通过...
分类:
编程语言 时间:
2014-09-23 22:57:05
阅读次数:
250
初学线程的java程序员在学习线程的时候,如果是想使用多线程,要么是继承Thread类,好么是继承runnable接口再提交给一个新创建的Thread。
下面介绍一下使用ThreadPoolExecutor线程执行者来运行多线程任务。它将线程创建于任务分离开来。
package test;
import java.util.concurrent.ExecutorService;
im...
分类:
编程语言 时间:
2014-09-18 13:20:23
阅读次数:
194
接着说 线程池,使用java自带的线程池,一般的情况下线程池对应的实现类是ThreadPoolExecutor,当然不排除自己来写一个线程池,扯远了,ThreadPoolExecutor 扩展自抽象类AbstractExecutorService,其中AbstractExecutorService ...
分类:
编程语言 时间:
2014-09-15 17:20:39
阅读次数:
241
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。前记:jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maxim...
分类:
其他好文 时间:
2014-09-14 23:18:17
阅读次数:
304