关于JAVA 并发类的Executor误用导致的线程数量异常
2015-06-11 14:07
405 查看
近期在项目中,在方法中局部使用
Executor创建固定线程,没有按照要求在局部用完之后进行shutdown操作,导致每次方法调用都会生成一个线程池,由于固定线程池在生成线程之后,不会自动回收,一致处于run状态等待任务的到达,因此导致上万的线程被创建,耗尽了服务器资源,因此在创建线程池的时候,要么在全局统一创建进行复用,如果是局部临时使用,就必须在使用完毕后使用shutdown方法释放线程池。
Executor创建固定线程,没有按照要求在局部用完之后进行shutdown操作,导致每次方法调用都会生成一个线程池,由于固定线程池在生成线程之后,不会自动回收,一致处于run状态等待任务的到达,因此导致上万的线程被创建,耗尽了服务器资源,因此在创建线程池的时候,要么在全局统一创建进行复用,如果是局部临时使用,就必须在使用完毕后使用shutdown方法释放线程池。
相关文章推荐
- java 堆 栈 方法区的简单分析
- Java中的泛型方法
- java 多线程(threadlocal)
- java 多线程(ReadWriteLock)
- Java读取、创建xml(通过dom方式)
- java 多线程(wait/notify/notifyall)
- java 多线程(synchronized)
- java 多线程(daemon)
- SpringMVC-------->Controller获得上传文件的绝对路径
- SpringMVC整合Shiro
- java指纹识别+google图片识别技术_源代码
- eclipse搭建web service
- spring4.1.6配置quartz2.2.1(maven)
- Maven 整合 spring profile实现多环境自动切换
- Java null String
- Description Resource Path Location Type Unknown error: java.lang.NullPointerException
- Spring+Mybatis+Velocity配置
- java entry
- Java编程思想_笔记(一)
- 如何改变Myeclipse编辑区背景色