【每周一题】—— 线程池

Android中的线程池有哪些?
他们的区别是什么?
为什么要使用线程池?

为什么要使用线程池

  1. 集中管理线程的创建和销毁,提高性能
  2. 线程池可以有效控制线程池的最大并发数,避免大量的线程之间因为互相抢占资源而导致线程阻塞
  3. 对线程进行简单管理,如定时执行或者间隔循环执行

线程的分类

  1. CachedThreadPool

    • 数量不定且只有非核心线程
    • 任意大的最大线程数
    • 当所有线程都处于活动状态的时候,会创建新线程执行任务,否则就利用新线程处理任务
    • 有超时时间为60秒,因为有超时时间,所以它几乎是不占任何系统资源的
    • 适合执行大量的耗时较少的任务
  2. FixedThreadPool

    • 线程数量固定且只有核心线程
    • 当所有线程都处于活动状态时,新任务将出处于等待状态,直到有线程空闲
  3. ScheduledThreadPool

    • 有固定的核心线程且非核心线程没有限制
    • 非核心线程空闲时会被立即回收
    • 适合执行定时任务和具有固定周期的重复任务
  4. SingleThreadExecutor

    • 只有一个核心线程,所有任务都在一个线程中按顺序执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值