Java线程池运行状态监控实现解析
在实际开发过程中,在线程池使用过程中可能会遇到各方面的故障,如线程池阻塞,无法提交新任务等。
如果你想监控某一个线程池的执行状态,线程池执行类ThreadPoolExecutor也给出了相关的API,能实时获取线程池的当前活动线程数、正在排队中的线程数、已经执行完成的线程数、总线程数等。
总线程数=排队线程数+活动线程数+执行完成的线程数。
线程池使用示例:
privatestaticExecutorServicees=newThreadPoolExecutor(50,100,0L,TimeUnit.MILLISECONDS, newLinkedBlockingQueue(100000)); publicstaticvoidmain(String[]args)throwsException{ for(inti=0;i<100000;i++){ es.execute(()->{ System.out.print(1); try{ Thread.sleep(1000); }catch(InterruptedExceptione){ e.printStackTrace(); } }); } ThreadPoolExecutortpe=((ThreadPoolExecutor)es); while(true){ System.out.println(); intqueueSize=tpe.getQueue().size(); System.out.println("当前排队线程数:"+queueSize); intactiveCount=tpe.getActiveCount(); System.out.println("当前活动线程数:"+activeCount); longcompletedTaskCount=tpe.getCompletedTaskCount(); System.out.println("执行完成线程数:"+completedTaskCount); longtaskCount=tpe.getTaskCount(); System.out.println("总线程数:"+taskCount); Thread.sleep(3000); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短