📚往期笔录记录✏️:
✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
✏️ 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
✏️ 对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
✏️ 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
✏️ 记录一场鸿蒙开发岗位面试经历~
✏️ 持续更新中……
场景介绍
在现代软件开发中,多线程或多进程的并发处理已成为常态。在多线程环境中,不同线程执行的任务可能具有不同的重要性和紧急程度。在高负载情况下,系统资源(如cpu时间)变得非常宝贵,此时如果关键线程(如UI渲染线程)因被其他非关键线程频频打断而得不到足够的资源和执行时间以确保其能够连续且及时地完成任务,则可能会导致画面卡顿、延迟等,影响用户体验。
解决思路
在负载较重的时候,为了让关键的任务能够拿到足够的资源,整机会依据任务的重要性,给任务分配相应的时间片,重要性越高的任务,可以分配到越多的时间片。那么开发者在可以识别自己应用中的关键线程的情况下,针对各个线程的任务紧急程度,给与关键线程以相对较高的QoS等级以防止其被其他线程打断,从而保证应用的流畅运行和更好的用户体验。
QoS
服务质量(QoS) 一文介绍了QoS的基本概念、原理、各个QoS等级适用的场景及负载特征及相关接口的用法。
在操作系统层面,QoS等级是一种用于区分不同线程优先级和服务质量的技术。通常系统会自动识别主线程,并在前台焦点情况下为其配置高于开放给应用开发者调用的QoS等级,以确保其优先执行。