君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理

2012年12月15日 #

摘要: JAVA5提供了多种类型的线程池,如果你对这些线程池的特点以及类型不太熟悉或者非常熟悉,请帮忙看看这篇文章(顺便帮忙解决里面存在的问题,谢谢!):http://xtu-xiaoxin.iteye.com/admin/blogs/647580 如果对ThreadPoolExecutor还不是很熟悉,可以看看一篇对ThreadPoolExecutor的介绍的博文:http://blog.csdn.net/waterbig/archive/2009/11/10/4794244.aspx 首先,JAVA中使用ThreadPoolExecutor的常用方式: 实例代码1Java代码Runnablerun 阅读全文
posted @ 2012-12-15 22:25 刺猬的温驯 阅读(1043) 评论(0) 推荐(0) 编辑

摘要: 我们都知道使用线程池能够控制线程的数量,尤其是大量的“短命”线程存在时,线程池将大大降低系统消耗(内存和CPU)。不过,线程池也同样需要管理,于是我写了本篇。首先,我们来看看管理器的整个继承关系:显而易见,有ThreadPoolExecutor和ScheduledThreadPoolExecutor两个实现类,当然Executor类里也有一些内部类实现了特定的功能(如class DelegatedScheduledExecutorService),我们也可以自己通过扩展这里所有的接口、抽象类、类来实现自己的特定功能,如继承ThreadPoolExecutor类,覆写beforeExecute( 阅读全文
posted @ 2012-12-15 21:54 刺猬的温驯 阅读(324) 评论(0) 推荐(0) 编辑

摘要: Executor框架是juc里提供的线程池的实现。前两天看了下Executor框架的一些源码,做个简单的总结。线程池大概的思路是维护一个的线程池用于执行提交的任务。我理解池的技术的主要意义有两个:资源的控制,如并发量限制。像连接池这种是对数据库资源的保护。资源的有效利用,如线程复用,避免频繁创建线程和线程上下文切换。那么想象中设计一个线程池就需要有线程池大小、线程生命周期管理、等待队列等等功能,下面结合代码看看原理。Excutor整体结构如下:Executor接口定义了最基本的execute方法,用于接收用户提交任务。ExecutorService定义了线程池终止和创建及提交futureTas 阅读全文
posted @ 2012-12-15 21:42 刺猬的温驯 阅读(888) 评论(0) 推荐(0) 编辑