线程池

时间:2021-7-3 作者:qvyue
线程池优势
  1. 避免频繁创建与销毁
  2. 复用线程
  3. 方便线程并发管控
  4. 延时定时线程池
线程池的主要参数
  • corePoolSize:核心线程数,优点1、2,低于核心数先创建线程,都算有空闲线程
  • maximumPoolSize:最大并发数量
  • keepAliveTime:线程保活时间,可用于核心与非核心
  • workQueue :执行任务的等待队列
  • threadFactory:用于创建线程
  • handler:当maximumPoolSize和workQueue满了执行的策略

添加任务到线程池时候,首先要满足corePoolSize数量,都算有空闲线程也要创建线程。当corePoolSize已满时候,我们会把线程添加到workQueue队列中,在队列满了时,在maximumPoolSize是否还可以执行非核心线程然后添加,可能导致后来的线程先执行。

线程池
添加策略
配置线程池
  • CPU密集型任务:CPU核心数+1。CPU使用率高,过多线程造成切换过度
  • IO密集型任务:0 ,最大线程数(参照okhttp)。CPU利用率不高,线程越多能充分利用CPU
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。