加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用ExecutorService作为局部变量时,一定要在用完后记得shutDown,否则会出问题

(2016-12-15 11:39:35)

ExecutorService 比较重,牵扯到线程,对线程的GC和GC常规对象是有很大的不同

 

最佳实践,

如果对象提供了shutdown,close等方法,一定要记得在用完后调用这些方法以释放资源,否则会出现资源泄露的情况

  http://s14/mw690/005Y4FfRzy77cG43J491d&690

================

可以看到线程数量直线上升,(线程泄露)最后出现无法new新线程的情况

 



http://dl2.iteye.com/upload/attachment/0117/4908/55178d56-240f-3760-8e7d-e73f91ad278a.png
 
 
http://dl2.iteye.com/upload/attachment/0117/4935/b86b4f35-c08d-31e5-adc0-fb604f3b8dfa.png

http://s14/mw690/005Y4FfRzy77cG4nk974d&690

 ------------------

加入shutdown之后,问题解决

 

http://s7/mw690/005Y4FfRzy77cG4M8aa96&690

http://dl2.iteye.com/upload/attachment/0117/4931/791713da-4c26-3ae8-94f7-bc218f8e330f.png
 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有