线程池原理

原创
2016/10/07 09:52
阅读数 34

线程池优势

    1. 减少资源消耗: 降低线程的重复创建和销毁频率

    2. 提高业务的响应时间: 请求到服务后,有待用线程直接处理业务,省略创建和销毁过程

    3. 便于管理:由线程管理器统一管理线程的创建,销毁和检测工作,保证线程池的大小保持在合理区间,而不会无上限,导致资源浪费

线程池常用工具类

   1. ThreadPoolExecutor

        涉及到的操作方法

        创建单例线程 : newSingleThreadExecutor()    

                内部队列由 LinkedBlockingQueue 阻塞队列实现任务缓存  

                LinkedBlockingQueue 根据 ReentrantLock 重入锁实现线程通信和阻塞

        创建固定数量的线程: newFixedThreadExecutor(10)   

               内部队列由 LinkedBlockingQueue 阻塞队列实现任务缓存

               LinkedBlockingQueue 根据 ReentrantLock 重入锁实现线程通信和阻塞

        根据请求创建线程,本身没有缓存任务: newCachedThreadExecutor() 

               内部由synchronousQueue实现内部没有容量的队列

   2. ScheduledThreadPoolExecutor 固定线程

   3. FutureTask

      

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部