Android的线程调度策略

本文探讨了Android基于Linux内核的线程调度策略,包括实时调度策略(SCHED_FIFO和SCHED_RR)和分时调度策略(SCHED_OTHER)。Android 9和Android 11中,系统会根据应用状态调整UI线程和渲染线程的优先级,例如,当应用进入后台时,Android 11会将线程恢复为SCHED_OTHER策略。
摘要由CSDN通过智能技术生成

前言

        本文整理的有关Android的线程调度策略主要基于Android 9和Android 11版本。众所周知,Android的内核基于Linux,因此也继承了Linux的CPU调度策略,包括cgroup等。对于Android设备终端,CPU的资源是有限的,因此如何管理好这些CPU资源是许多Android OS定制厂商在进行性能优化过程中的重要举措,而Android Framework已经对CPU的资源调度提供了现成方案,包括Cgroup和线程调度策略,本文就以此作为调研对象,阐述Android是如何进行线程调度策略的管理的。

Linux内核的CPU线程调度策略

        Linux内核提供了两种类型的CPU线程调度策略,分别是:

(1)实时调度策略:主要的类型有SCHED_FIFO和SCHED_RR,其中SCHED_FIFO表示先到先服务,进程一旦占有CPU,就会一直运行,直到有更高优先级的进程到达时才会放弃CPU或者进程自己放弃CPU;SCHED_RR表示按照时间片轮转,当进程被分配到CPU时间片后才会执行,当该时间片用完后,该进程将会被放到该优先级队列的末尾,等待系统重新分配时间片执行。

        线程如果属于上述SCHED_FIFO或者SCHED_RR类型则被称为实时线程(即RT线程),它的线程优先级&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值