博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程池监控
阅读量:6272 次
发布时间:2019-06-22

本文共 592 字,大约阅读时间需要 1 分钟。

hot3.png

系统中大量使用线程池,有必要对线程池进行监控。

可以监控如下指标:

  • 可以检测到正在执行的线程数。
  • 可以检测任务队列堆积任务数。
  • 可以检测活动线程数。
  • 可以检测最大线程数。

具体如下:

  • queue.size:获取线程池任务队列数量。
  • taskCount:线程池需要执行的任务数量。
  • completedTaskCount:线程池在运行过程中已完成的任务数量。小于或等于taskCount。
  • largestPoolSize:线程池曾经创建过的最大线程数量。通过这个数据可以知道线程池是否满过。如等于线程池的最大大小,则表示线程池曾经满了。
  • getPoolSize:线程池的线程数量。如果线程池不销毁的话,池里的线程不会自动销毁,所以这个大小只增不减。
  • getActiveCount:获取活动的线程数。

通过扩展线程池进行监控,通过继承线程池并重写线程池的beforeExecute,afterExecute和terminated方法,我们可以在任务执行前,执行后和线程池关闭前干一些事情。如监控任务的平均执行时间,最大执行时间和最小执行时间等。

这几个方法在线程池里是空方法。如: protected void beforeExecute(Thread t, Runnable r) { }

转载于:https://my.oschina.net/u/1000241/blog/1927008

你可能感兴趣的文章
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
C++零基础教程(一)——何谓编程
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
Linux下的lds链接脚本简介(二)
查看>>
入门到进阶React
查看>>
C++每日练笔之日期类(基类)
查看>>
SVN 命令笔记
查看>>
修复Postfix 的Relay access denied问题
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
ffmpeg study 1
查看>>
Git使用教程
查看>>