正规的大连网站建设,外边做一个网站要多少钱,商城简介,c 做网站网站获取线程池中任务执行数量
通过线程池进行任务处理#xff0c;有时我们需要知道线程池中任务的执行状态。通过ThreadPoolExecutor的相关API实时获取线程数量#xff0c;排队任务数量#xff0c;执行完成线程数量等信息。
实例 private static ExecutorService es new Thr…获取线程池中任务执行数量
通过线程池进行任务处理有时我们需要知道线程池中任务的执行状态。通过ThreadPoolExecutor的相关API实时获取线程数量排队任务数量执行完成线程数量等信息。
实例 private static ExecutorService es new ThreadPoolExecutor(50, 100, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueueRunnable(
100000
));public static void main(String[] args) throws Exception{
for (int i 0; i 100000; i) {es.execute(() - {System.out.print(1);try{Thread.sleep(1000);} catch(InterruptedException e) {e.printStackTrace();}});}ThreadPoolExecutor tpe ((ThreadPoolExecutor) es);
while (true) {System.out.println();int queueSize tpe.getQueue().size();System.out.println(当前排队线程数 queueSize);int activeCount tpe.getActiveCount();System.out.println(当前活动线程数 activeCount);long completedTaskCount tpe.getCompletedTaskCount();System.out.println(执行完成线程数 completedTaskCount);long taskCount tpe.getTaskCount();System.out.println(总线程数 taskCount);Thread.sleep(3000);}
}比如我们每隔3秒获取一次执行状态信息总共有50个工作线程。 第一次输出
当前排队线程数
99950当前活动线程数
50执行完成线程数
0总线程数排队线程数 活动线程数 执行完成线程数
100000第二次输出
当前排队线程数
99800当前活动线程数
50执行完成线程数
150总线程数排队线程数 活动线程数 执行完成线程数
100000说明通过API可以获取不断变化的线程及线程任务数量了。