Java线程池

线程池优点:

 降低资源消耗,通过重复利用已经创建的线程减低线程的创建和销毁造成的消耗

 提高响应速度,当任务达到时,任务可以不需要等到线程创建就能够立即执行

   提高线程的可管理性,线程时消耗资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统稳定性,因此使用线程池统一管理分配

创建和使用线程池

 使用new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,milleseconds,runnableTaskQueue,threadFactory,handler)

corePoolSize(线程池基本大小)runnableTaskQueue(任务队列)maximumPoolSize(线程池最大大小)threadFactory 用于设置创建线程的工厂,可以通过线程工厂给每个创建出来的线程设置名字,debug 定位

handler(饱和策略)当队列和线程池都满了,说明线程池处于饱和状态,那么要采取一种策略处理提交的心任务。默认下是AbortPolicy,表示无法处理新任务是跑出异常

keepAliveTime(线程活动保持时间)线程池的工作线程空闲后,保持存活的时间。

线程池监控

 通过线程池提供的参数进行监控 比如

  taskCount 线程池需要执行的任务数

  completedTaskCount 线程池运行过程中已完成的任务数

  largestpoolSize 线程池曾经创建过的最大线程数。

  getPoolSize 线程池线程数

  getActiveCount 获取活动的线程数

posted @ 2019-05-24 13:54  cg丶小白  阅读(138)  评论(0编辑  收藏  举报