android中线程池的选择

这篇具有很好参考价值的文章主要介绍了android中线程池的选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

线程池是把一个或多个线程通过统一的方式进行调度和重复使用的技术。

避免了因为线程过多而带来使用上的开销。

在安卓开发中,为了更好的性能体验,我们在选择线程池的时候,需要从具体需求来考虑,主要考虑以下几方面:

1、从任务的优先级;

2、任务的执行时间长短;

3、任务的性质(CPU密集/ IO密集);

4、任务的依赖关系这四个角度来分析;

性质不同的任务可用使用不同规模的线程池分开处理:

因此,我们需要知道某一个任务是否是CPU消耗型的任务(定容线程池),还是说IO类型的任务(缓存线程池),充分的调用CPU资源。那在此之前,我们需要知道两个概念:

Wall Duration:代码执行时间

CPU Duration:代码消耗CUP的时间(重点指标,优化方向)。

这里就需要借助SysTrace工具了(具体方法可自行搜索)最终查看xxx.html文件,如下图

android中线程池的选择

通过SysTrace查看 Wall Duration 与 CPU Duration,

消耗的CPU时间片较多,我们就把它放在定容线程池里调度,

消耗的时间片少,我们就把它放在缓存线程池中。文章来源地址https://www.toymoban.com/news/detail-422302.html

到了这里,关于android中线程池的选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言【paleobioDB】——pbdb_collections():通过参数选择,返回多个采集号的基本信息

    Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 参数【...】 :可通过 API 调用的参数。所有可用参数详见 PBDB Data Service: Single fossil collection。 根据参数发

    2024年02月01日
    浏览(37)
  • 3dmax通过烘焙合并一个模型的多个贴图流程

    合并多个模型也是可以的,文件是自动保存的TGA格式,后期PS可以批处理保存JPEG。 1、3dmax中文件打开模型 2、转为可编辑多边形  3、设置环境光 4、 渲染到纹理(0)    

    2024年02月16日
    浏览(54)
  • R语言【paleobioDB】——pbdb_intervals():通过参数选择,返回多个地层年代段的基本信息

     Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 参数【...】 :其余可通过 API 调用的参数。所有可用参数详见PBDB Data Service: Lists of geological time intervals。

    2024年02月02日
    浏览(41)
  • 天去面试的时候,遇到一个问题。我三个任务,ABC,我怎么让A执行完执行B,B执行完执行C 3个并行线程,如何解决。程池的核心运行原理和参数。

    今天去面试的时候,遇到一个问题。我三个任务,ABC,我怎么让A执行完执行B,B执行完执行C 3个并行线程,如何解决。程池的核心运行原理和参数。 1.线程池核心的参数 1.线程核心数- 线程池中始终保持的活动线程数量。 2. 最大线程数 - 线程池能够容纳的最大线程数量。 3.

    2024年02月11日
    浏览(37)
  • xpath 如何通过xpath选取class一个或多个属性定位

    目录 1、通过定位一个class方式 2、通过定位两个class方式 3、不包含某个 4、组合 5、or 6、如果目标 class 不一定是第一个 div class=\\\'aaaa bbbb\\\'春天的菠菜/div  #它会取得所有class为aaaa的元素 #它会取class同时有aaaa和bbbb的元素

    2024年02月16日
    浏览(43)
  • Linux C++ 网络编程基础(2) : TCP多线程一个server对应多个client

    作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/   tcp编程时, 一个server可以对应多个client, server端用多线程可以实现. linux下多线程可以使用POSIX的线程函数, 下面给出服务端和客户端的代码.   Linux POSIX线程库提供了一组函数来创建、管理和同步

    2024年02月13日
    浏览(49)
  • 【微信小程序】实现点击+号弹出一个附着旁边的弹窗进行多个方式的选择

    在微信小程序中,你可以使用小程序的组件和事件来实现点击+号弹出一个附着在+号旁边的弹窗,以进行多个方式的选择。以下是一个示例代码: 在wxml文件中,创建一个按钮,并为按钮绑定一个点击事件: 在上述代码中,我们创建了一个按钮,用于展示+号图标,并给按钮绑

    2024年02月14日
    浏览(49)
  • 一个可以通过多个条件筛选的系统界面是如何实现的(springboot+mybatis)

    比如我们有一个订单记录管理界面 条件可以通过订单号、商品名称、创建日期范围、价格范围。。。来进行筛选查询。首先我们先确定数据库订单表(我这里就不做连表了,都放在一个表中)模拟一个订单表 order表 订单号     商品名称     创建日期     价格     地址  

    2024年02月13日
    浏览(42)
  • Python开启线程和线程池的方法

    1、通过用户慢慢递增来进行性能压测,观察QPS(即每秒的响应请求数,也即是最大吞吐能力。),响应时间 2、根据公式计算:服务器端最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量 3、单用户压测,查看CPU的消耗,然后直接乘以百分比,再进行压测,一般这

    2024年02月03日
    浏览(48)
  • 【Linux】线程终结篇:线程池以及线程池的实现

    linux线程完结 文章目录 前言 一、线程池的实现 二、了解性知识 1.其他常见的各种锁 2.读者写者问题 总结 什么是线程池呢? 线程池一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行

    2024年02月12日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包