用安卓线程池对比学习鸿蒙任务池

安卓:线程池(ThreadExecutePool):将线程存放到线程池中,用时直接取,不用销毁或取消

常用的四种线程池:

  1. 可缓存线程池(newCachedThreadPool):超过核心线程池时,可灵活回收空线程,不返回就新建线程
  2. 定长线程池(newFixedThreadPool):控制并发数,超过就等待
  3. 定长的线程池(newScheduledThreadPool):支持周期及定时任务
  4. 单线程池(newSingleThreadExecutor):保证任务先进先出执行

七个参数:

  1. 核心线程数(corePoolSize):是线程池最小的线程数,在线程池中一直保持一定数量的线程不受空闲时间影响
  2. 最大线程池(maximumPoolSize):线程池最大的线程数
  3. 工厂队列(workQueue):创建新线程,可定制线程组、优先级等
  4. 阻塞策略(rejectedExecutionHandler):当核心线程池达到极限时,触发阻塞策略,常见策略有:直接抛出异常、丢弃任务等
  5. 拒绝策略(handler):当线程池和线程任务达到最大时,无法接收新的任务,触发拒绝策略,常见策略有:直接抛出异常、丢弃任务等
  6. 空闲线程可存活时间(keepAliveTime):当线程任务超过核心线程数时,多余线程被回收,此参数是非核心线程空闲时间,超时将被回收
  7. 工作队列(threadFactory):储存等待执行的线程任务,当线程数达到核心线程数时,新任务加入队列等待执行

 鸿蒙:任务池(TaskPool):提供一个多线程的环境,降低资源消耗

(ps:图来自官方文档)

 

线程状态说明:

初始化(Init):线程正在被创建。

就绪(Ready):在就绪列表,等待 CPU 调度。

运行(Running):正在运行。

阻塞(Blocked):该线程被阻塞挂起。

退出(Exit):该线程运行结束,等待父线程回收其控制块资源。

两者有很多共同点,对比学习能更快理解加速学习

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值