2021版Java线程池教程18:如何监控线程池?介绍 getActiveCount、getPoolSize、getLargestPoolSize、getTaskCount、getCompletedTaskCount、getQueue、beforeExecutor、afterExecutor、terminated 方法的作用及用法。
2021版Java线程池教程18:如何监控线程池?
视频全集
代码
MonitorThreadPool.class
package main;
import java.util.concurrent.*;
public class MonitorThreadPool extends ThreadPoolExecutor {
public MonitorThreadPool(int corePoolSize, int maximumPoolSize,
long keepAliveTime, TimeUnit unit,
BlockingQueue<Runnable> workQueue) {
super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
}
/**
* 每次执行任务前调用
*/
@Override
protected void beforeExecute(Thread t, Runnable r) {
monitor(