package org.thread;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
/**
* 获取线程池中活跃数
*/
public class ThreadActiveCount {
// private static ExecutorService executorService = Executors.newFixedThreadPool(5);
private static ExecutorService executorService = Executors.newCachedThreadPool();
public static void main(String[] args) {
ThreadActiveCount threadActiveCount = new ThreadActiveCount();
int activeAcount = threadActiveCount.getActiveAcount();
System.out.println(activeAcount);
for (int i = 0; i < 100; i++) {
executorService.submit(() -> {
System.out.println("hello world");
});
}
int activeAcount1 = threadActiveCount.getActiveAcount();
System.out.println(activeAcount1);
}
public int getActiveAcount(){
ThreadPoolExecutor threadPoolExecutor =(ThreadPoolExecutor) executorService;
int activeCount = threadPoolExecutor.getActiveCount();
return activeCount;
}
}