Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82821
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2020-05-29 15:36
文章分类

全部博文(56)

文章存档

2020年(56)

我的朋友
最近访客

分类: Java

2020-08-27 10:44:02

  Executor线程池来自于JDK1.5的JUC包,使用线程池的目的或者好处如下:

  实现线程资源的合理复用。线程资源属于操作系统核心资源之一,创建和销毁都需要占用系统资源和大量时间。使用线程池之后,不再需要开发者管理线程,线程的创建和销毁都交给线程池控制,实现线程的复用,减少线程资源的频繁的创建和销毁。

  提升任务执行效率。当新来一个线程任务的时候,由于具有线程复用计数因此可以直接利用现有的线程去执行任务,不需要新建线程,这样一定程度上提升了执行效率。

  可以对线程和线程任务实现实时监控和管理。比如目前活动线程数、曾经的最大线程数、已完成的任务数量等功能;比如控制最大线程数,在线程任务执行前-执行完毕后-线程池停止后具有可选的回调方法、移除某个线程任务、立即停止线程池等功能,他们都可以通过线程池的相关方法调用来实现。

  JDK的线程池可扩展性极强,我们既可以利用定义好的线程池,也可以自定义线程池,很多其他框架组件也都是使用或者扩展了JDK线程池,比如ForkJoinPool分治框架(线程池框架的增强),guava的线程池MoreExecutors就是基于JDK线程池做的扩展,权限框架Shiro的PropertiesRealm属性文件认证类,JAVA RESTFUL请求服务框架Jersey,甚至单元测试框架junit等等框架都是用到了原生Executor线程池,下一篇来看看JDK的Executor线程池的主要原理吧!

本文来源于:,如有侵权,请联系我删除~

阅读(1031) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~