开发者社区> 问答> 正文

如何构造一个Android中的线程池,并简要说明其核心参数?

如何构造一个Android中的线程池,并简要说明其核心参数?

展开
收起
迪哒迪滴喵 2024-07-22 16:45:44 39 0
1 条回答
写回答
取消 提交回答
  • 在Android中,可以使用ThreadPoolExecutor类来构造线程池。其核心参数包括:
    corePoolSize(核心线程数):线程池维护线程的最少数量。
    maximumPoolSize(最大线程数):线程池允许的最大线程数。
    keepAliveTime(闲置线程保活时长):当线程数大于核心线程数时,这是多余空闲线程在终止前等待新任务的最长时间。
    keepAliveTimeUnit(保活时长单位):keepAliveTime参数的时间单位。
    workQueue(阻塞队列):用于存放待执行的任务。
    threadFactory(线程工厂):用于创建新线程。
    rejectedExecutionHandler(任务溢出的处理策略):当线程池和队列都满了时,对新任务的处理策略。
    示例代码:

    ThreadPoolExecutor executor = new ThreadPoolExecutor( 
    5, // 核心线程数 
    10, // 最大线程数 
    1, // 闲置线程保活时长 
    TimeUnit.MINUTES, // 保活时长单位 
    new LinkedBlockingDeque<>(50), // 阻塞队列 
    new ThreadFactory() { 
    @Override 
    public Thread newThread(Runnable r) { 
    return new Thread(r); 
    } 
    }, 
    new ThreadPoolExecutor.AbortPolicy() // 任务溢出的处理策略 
    );
    
    2024-07-22 18:32:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
多IO线程优化版 立即下载
Android组件化实现 立即下载