glide溯源之线程池

本文是Glide源码分析系列之一,主要探讨Glide中涉及的线程池,包括磁盘缓存线程池、核心处理线程池和动画线程池。文章指出Runtime.getRuntime().availableProcessors()可能并不总能准确反映CPU核心数,这可能影响线程竞争和性能。在某些特定硬件配置下,返回值可能超出实际可用核心数,导致线程过度竞争。
摘要由CSDN通过智能技术生成

glide溯源系列文章

一、 相关类
1. GlideExecutor

二、几个重要的线程池

1. 磁盘缓存线程池
 

//磁盘缓存线程池大小默认是1
private static final int DEFAULT_DISK_CACHE_EXECUTOR_THREADS = 1;

public static GlideExecutor newDiskCacheExecutor() {
    return newDiskCacheExecutor(
        DEFAULT_DISK_CACHE_EXECUTOR_THREADS,
        DEFAULT_DISK_CACHE_EXECUTOR_NAME,
        UncaughtThrowableStrategy.DEFAULT);
  }
  
public static GlideExecutor newDiskCacheExecutor(
      int threadCount, String name, UncaughtThrowableStrategy uncaughtThrowableStrategy) {
    return new GlideExecutor(
        new ThreadPoolExecutor(
            threadCount /* corePoolSize */,
            threadCount /* maximumPoolSize */,
            0 /* keepAliveTime */,
            TimeUnit.MILLISECONDS,
            new PriorityBlockingQueue<Runnable>(),
            new DefaultThreadFactory(name, unc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值