CN118467149A - 一种任务处理方法及电子设备 - Google Patents
一种任务处理方法及电子设备 Download PDFInfo
- Publication number
- CN118467149A CN118467149A CN202311864934.5A CN202311864934A CN118467149A CN 118467149 A CN118467149 A CN 118467149A CN 202311864934 A CN202311864934 A CN 202311864934A CN 118467149 A CN118467149 A CN 118467149A
- Authority
- CN
- China
- Prior art keywords
- target
- function
- thread
- thread pool
- priority
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 212
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 238000012544 monitoring process Methods 0.000 claims description 28
- 230000008447 perception Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 28
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
本申请实施例提供了一种任务处理方法、电子设备及计算机可读存储介质。该方法中,响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;基于预设绑定关系,确定与所述任务队列匹配的目标线程池;以及利用所述目标线程池中的线程,执行所述任务队列中的任务,其中,所述目标线程池中的线程优先级可调节。有利于实现任务的精细化处理,可以有效提升相机应用的稳定性和流畅性。
Description
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种任务处理方法及电子设备。
背景技术
电子设备的操作系统可能出现多任务并发和重负载的情况,这可能导致任务无法及时响应,出现应用卡顿的情况。
例如,当用户在重负载场景下使用相机应用时,可能出现相机拍照界面卡顿,或者视频拍摄丢帧的情况,严重影响用户使用体验。
发明内容
为了解决上述技术问题,本申请提供一种任务处理方法、电子设备及计算机可读存储介质。该方法中,基于预设绑定关系,确定与任务队列匹配的目标线程池,目标线程池中的线程优先级可调节。利用目标线程池中的线程,执行任务队列中的任务。在系统资源的不同负载状态下,调节线程优先级,有利于实现针对系统资源的合理调用,有利于保证相机应用的流程性和稳定性。
第一方面,本申请实施例提供了一种任务处理方法,应用于电子设备,所述方法包括:响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;基于预设绑定关系,确定与所述任务队列匹配的目标线程池;以及利用所述目标线程池中的线程,执行所述任务队列中的任务。
根据本公开的实施例,有利于实现相机应用任务的精细化处理,有利于实现计算资源的合理化分配,可以有效提升相机应用的稳定性和流畅性,能够有效改善用户使用体验。
根据第一方面,所述目标线程池中的线程优先级可调节。任务处理方法还包括:在所述相机应用的运行过程中,获取与所述相机应用关联的性能监测数据;根据所述性能监测数据,调节所述目标线程池中的所述线程优先级。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述性能监测数据,调节所述目标线程池中的所述线程优先级,包括:在所述性能监测数据指示所述相机应用存在画面丢帧的情况下,根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级。所述功能运行特征包括所述目标相机功能的以下信息中的至少之一:功能类型、功能运行平台、功能是否可感知和功能应用频率。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:在所述功能类型指示所述目标相机功能为预设重要功能的情况下,提升所述目标线程池中的所述线程优先级;以及在所述功能类型指示所述目标相机功能为预设非重要功能的情况下,降低所述目标线程池中的所述线程优先级。
预设重要功能可以是相机应用易于被感知的基础功能,在相机应用存在画面丢帧的情况下,对用于实现预设重要功能的线程优先级进行提升,可以有效保障相机应用的流畅性和稳定性。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:在所述功能运行平台指示所述目标相机功能运行于前台的情况下,提升所述目标线程池中的所述线程优先级;以及在所述功能运行平台指示所述目标相机功能运行于后台的情况下,降低所述目标线程池中的所述线程优先级。
在功能运行平台指示目标相机功能运行于前台的情况下,提升目标线程池中的线程优先级,可以为目标相机功能提供更多的计算资源,保证目标相机功能的流畅实现。在功能运行平台指示目标相机功能运行于后台的情况下,降低目标线程池中的线程优先级,由于相机应用处于计算资源需求较少的状态,通过降低目标线程池中的线程优先级,有利于保证计算资源的合理化分配。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:在所述功能运行特征指示所述目标相机功能为可感知功能的情况下,提升所述目标线程池中的所述线程优先级;以及在所述功能运行特征指示所述目标相机功能为非可感知功能的情况下,降低所述目标线程池中的所述线程优先级。
在目标相机功能可被用户感知到的情况下,提升目标线程池中的线程优先级,有利于保证目标相机功能实现的稳定性。在目标相机功能不易被用户感知的情况下,降低目标线程池中的线程优先级,有利于保证其他相机功能实现的流畅性。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:在所述功能运行特征指示所述目标相机功能的应用频率高于第一预设阈值的情况下,提升所述目标线程池中的所述线程优先级;以及在所述功能运行特征指示所述目标相机功能的应用频率低于第二预设阈值的情况下,降低所述目标线程池中的所述线程优先级,其中,所述第一预设阈值大于或等于所述第二预设阈值。
根据本公开的实施例,针对高应用频率的目标相机功能,通过提高线程优先级,可以更迅速地响应用户或者系统需求,提升用户体验。针对低应用频率的目标相机功能,通过降低线程优先级,可以在不影响相机应用性能的情况下节省能耗。
根据第一方面,或者以上第一方面的任意一种实现方式,任务处理方法还包括:根据所述性能监测数据,对与所述目标线程池匹配的CPU资源进行调度,其中,所述CPU资源包括以下参数中的至少之一:CPU频点、线程所运行于的CPU核和是否允许执行系统动作。
根据第一方面,或者以上第一方面的任意一种实现方式,任务处理方法还包括:在所述相机应用的运行过程中,获取所述电子设备的操作系统的实时负载数据;以及根据所述实时负载数据,调节所述目标线程池中的所述线程优先级,和/或对与所述目标线程池匹配的CPU资源进行调度,其中,所述实时负载数据包括以下参数中的至少之一:当前已创建线程的数量、处理器空闲比、处理器内存占用率和CPU程序占比。
根据本公开的实施例,通过动态调整线程池和CPU资源,可以有效保证相机应用的流程性和稳定性,有利于改善用户使用体验。
根据第一方面,或者以上第一方面的任意一种实现方式,所述方法还包括:根据所述任务队列中的所述任务的数量,调节所述目标线程池中的线程数量。
根据本公开的实施例,可以确保线程池在处理大量任务时能够灵活地适应工作负载,同时又能够避免过度创建线程导致资源浪费。
根据第一方面,或者以上第一方面的任意一种实现方式,所述根据所述任务队列中的所述任务的数量,调节所述目标线程池中的线程数量,包括:在所述任务队列中的所述任务的数量达到用于创建线程的至少一个目标数量时,在所述目标线程池中创建新线程,其中,所述目标数量为根据所述目标线程池中的核心线程数、预设最大线程数和所述任务队列的长度确定得到。
根据第一方面,或者以上第一方面的任意一种实现方式,所述方法还包括:在所述目标线程池中存在处于空闲状态的时长大于预设时长阈值的空闲线程的情况下,销毁所述空闲线程。
根据本公开的实施例,通过销毁空闲线程,以使空闲线程所占用的计算资源可被其他线程、程序或者应用使用,有利于提高系统资源的使用效率。
根据第一方面,或者以上第一方面的任意一种实现方式,所述方法还包括:监测所述目标线程池中各线程执行当前任务的运行时长;以及在所述运行时长指示存在线程运行超时的情况下,在所述目标线程池中创建新线程。
根据本公开的实施例,可以有效避免因等待超时线程而导致的资源浪费,有利于提升任务处理效率,保证相机功能实现的流畅性。
根据第一方面,或者以上第一方面的任意一种实现方式,所述响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列,包括:响应于检测到所述功能触发操作,确定用于实现所述目标相机功能的感知类算法;以及将所述感知类算法分解为至少一个任务,得到由所述至少一个任务构成的所述任务队列。
根据第一方面,或者以上第一方面的任意一种实现方式,所述感知类算法具有预设的算法优先级,所述方法还包括:在所述相机应用的运行过程中,获取与所述相机应用关联的性能监测数据;根据所述性能监测数据,调节所述感知类算法的所述算法优先级。
与目标相机功能匹配的感知类算法具有预设的算法优先级,算法优先级可以影响感知类算法获取GPU资源的速度,具体表现为高优先级的算法更有可能更快地获得GPU资源。在实际应用中,可以根据应用场景的实时性需求,设置感知类算法的算法优先级。
根据第一方面,或者以上第一方面的任意一种实现方式,所述感知类算法具有预设的算法优先级,所述任务队列与所述目标线程池之间的所述绑定关系是根据所述算法优先级和所述线程优先级确定的。
示例性地,算法优先级较高的感知类算法可以与线程优先级较高的线程池进行绑定,算法优先级较低的感知类算法可以与线程优先级较低的线程池进行绑定。
根据第一方面,或者以上第一方面的任意一种实现方式,所述绑定关系还可以根据线程池中的线程数量和所述任务队列的长度确定。
第二方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;基于预设绑定关系,确定与所述任务队列匹配的目标线程池;以及利用所述目标线程池中的线程,执行所述任务队列中的任务。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第四方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
附图说明
图1为示例性示出一种应用场景示意图;
图2为示例性示出的电子设备的结构示意图;
图3为示例性示出的电子设备的软件结构框图;
图4为本申请实施例提供的一种任务处理过程的流程图;
图5为本申请实施例提供的任务队列与线程池的示意图;
图6为本申请实施例提供的一种任务处理的过程示意图;
图7为本申请实施例提供的另一任务处理的过程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的应用场景进行说明。如图1所示为本申请实施例提供的一种应用场景示意图。如图1所示,电子设备响应于针对目标对象101进行拍摄的触发操作,拍摄预设范围内的图像102并显示,预设范围例如可以是电子设备的摄像头拍摄范围。在电子设备的操作系统存在多任务并发或重负载的情况下,相机应用的拍照界面可能出现卡顿(如103示意),影响用户使用体验。
本申请实施例提供了一种任务处理方法,应用于电子设备。电子设备响应于用户对相机应用的功能触发操作,确定由用户触发的目标相机功能,以及确定与目标相机功能匹配的任务队列。电子设备基于预设绑定关系,确定与任务队列匹配的目标线程池,并利用目标线程池中的线程,执行任务队列中的任务。利用经绑定的线程池执行相机应用任务,线程池中的线程优先级可调节,可以有效保证相机任务的顺利执行,有利于保障相机应用的稳定性和流畅性。
如图2所示为电子设备100的结构示意图。可选地,电子设备100可以称为终端,也可以称为终端设备,电子设备100可以是具有拍照功能的终端设备,具体产品形态可以是智能终端,如手机、平板、DV、摄像机、照相机、便携电脑、笔记本电脑、智能音箱等安装有摄像头的产品。具体地,本申请涉及的功能模块可以部署于相关设备的DSP芯片上,具体可以是其中的应用程序或软件。可以通过软件安装或升级,以及通过硬件的调用配合,提供一种任务处理功能,旨在提升相机应用运行的流畅性和稳定性。
应该理解的是,图2所示的电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110、外部存储器接口120、内部存储器121、通用串行总线(universal serial bus,USB)接口130、充电管理模块140、电源管理模块141、电池142、天线1、天线2、移动通信模块150、无线通信模块160、音频模块170、传感器模块180、按键190、马达191、指示器192、摄像头193、显示屏194、以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器、陀螺仪传感器、加速度传感器、温度传感器、运动传感器、气压传感器、磁传感器、距离传感器、接近光传感器、指纹传感器、触摸传感器、环境光传感器、骨传导传感器等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、存储器、视频编解码器、数字信号处理器(digital signal processor,DSP),基带处理器和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口、Micro USB接口、USB Type C接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。电源管理模块141用于连接电池142、充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110、内部存储器121、外部存储器、显示屏194、摄像头193、和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequency modulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU、显示屏194以及应用处理器等实现显示功能。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点、亮度、肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB、YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
其中,摄像头193可以位于电子设备的边缘区域,可以为屏下摄像头,也可以是可升降的摄像头。摄像头193可以包括后置摄像头,还可以包括后置摄像头。本申请实施例对摄像头193的具体位置和形态不予限定。电子设备100可以包括一种或多种焦段的摄像头,例如不同焦段的摄像头可以包括长焦摄像头、广角摄像头、超广角摄像头或全景摄像头等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理,例如使得电子设备100实现本申请实施例中的对焦处理方法。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据、电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170以及应用处理器等实现音频功能。例如音乐播放、录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。
陀螺仪传感器可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定电子设备100围绕三个轴(即,x、y和z轴)的角速度。
加速度传感器可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时加速度传感器可检测出重力的大小及方向。加速度传感器还可以用于识别电子设备姿态,应用于横竖屏切换、计步器等应用。
按键190包括开机键(或称电源键)、音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
电子设备100的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构。本发明实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
如图3为示例性示出的电子设备100的软件结构框图,电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android runtime)、系统层和内核层。
应用程序层可以包括一系列应用程序包,如图3所示,应用程序包可以包括相机、图库、视频、WLAN等应用程序。应用程序层还可以包括系统感知模块,系统感知模块包括预设的配置信息,预设的配置信息例如包括与相机应用关联的感知类算法的算法优先级以及所创建线程池的线程数量、线程优先级、线程所运行于的CPU核等信息。
应用程序框架层为应用程序层的应用程序提供应用编程接口(ApplicationProgramming Interface,API)和编程框架,包括各种组件和服务来支持开发者的安卓开发。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器、内容提供器、通知管理器、资源管理器、CPU负载检测模块、CPU资源调度模块、应用性能监测模块和应用服务模块等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小、判断是否有状态栏、锁定屏幕、截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频、图像、音频、拨打和接听的电话、浏览历史和书签、电话簿等。
资源管理器可以为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件、视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知信息被用于告知下载完成、消息提醒等。通知信息还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息、发出提示音、电子设备振动、指示灯闪烁等。
CPU负载检测模块用于检测电子设备的CPU负载信息,CPU负载信息例如可以包括CPU核心频点数量、当前CPU最大运行频率、当前CPU最小运行频率、CPU使用率等信息。CPU负载信息用于指示CPU的负载情况,CPU负载信息可以从内核调度模块读取。
CPU资源调度模块用于根据CPU负载信息和应用的性能监测数据,进行CPU负载调度,CPU负载调度例如包括CPU调频、CPU核切换等操作。
应用性能监测模块用于获取应用运行时的性能监测数据,例如用于获取相机应用运行时的帧率、网络活动、启动时长、响应时长和照片保存时长等信息。应用服务模块用于根据应用运行时的性能监测数据,以及根据系统感知模块中的预设配置信息,确定应用运行时的任务处理策略。
系统层包括系统库和安卓运行时(Android Runtime)。系统库可以包括多个功能模块,例如图像渲染库、图像合成库、函数库和媒体库等。安卓运行时包括核心库和虚拟机,安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中,虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理、堆栈管理、线程管理、安全和异常的管理以及垃圾回收等功能。
可以理解的是,图3示出的系统框架层、系统库与运行时层包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
内核层是硬件和上述软件层之间的层。内核层至少包含显示驱动、摄像头驱动和传感器驱动。硬件可以包括摄像头、显示屏、麦克风、处理器以及存储器等器件。
下面结合图4所示的流程图,对任务处理过程进行示意说明。如图4所示,任务处理过程可以包括操作S101~S103。
操作S101,电子设备响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列。
操作S102,电子设备基于预设绑定关系,确定与任务队列匹配的目标线程池。
操作S103,电子设备利用目标线程池中的线程,执行任务队列中的任务。
下面示例说明本实施例的任务处理过程的各操作示例流程。
操作S101,电子设备响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列。
以执行主体为电子设备中的应用服务模块为例进行说明,应用服务模块响应于对相机应用的功能触发操作,确定用于实现目标相机功能的感知类算法,目标相机功能包括由用户触发的任意相机功能。相机功能例如包括拍照、录像、人像识别、微笑检测、运动抓拍、场景识别等功能。相机功能可基于感知类算法实现,感知类算法例如包括人脸识别算法、主体检测算法、表情识别算法、场景分割算法和物体追踪算法等。示例性地,场景分割算法用于将图像分割为多个区域,不同的区域可能对应不同的场景或对象,场景分割算法可用于背景虚化、智能修图等功能。
应用服务模块将感知类算法分解为至少一个任务,得到由至少一个任务构成的任务队列。任务是算法执行的基本单元,在多线程编程中,不同任务可以被分配给不同的线程执行,以实现任务并行处理,加快任务完成速度。
操作S102,电子设备基于预设绑定关系,确定与任务队列匹配的目标线程池。
应用服务模块基于预设绑定关系,确定与任务队列匹配的目标线程池。目标线程池中的线程数量、线程优先级、线程所运行于的CPU核可调节。与目标相机功能匹配的感知类算法具有预设的算法优先级,算法优先级可以影响感知类算法获取GPU资源的速度,具体表现为高优先级的算法更有可能更快地获得GPU资源。在实际应用中,可以根据应用场景的实时性需求,设置感知类算法的算法优先级。例如,可以为人脸识别算法、主体检测算法等实时性需求高的算法设置较高的优先级。
任务队列与目标线程池之间的绑定关系可以根据算法优先级与线程优先级确定。示例性地,算法优先级较高的感知类算法可以与线程优先级较高的线程池进行绑定,算法优先级较低的感知类算法可以与线程优先级较低的线程池进行绑定。此外,绑定关系还可以根据线程池中的线程数量和任务队列的长度确定。任务队列的长度例如可由任务队列中任务的数量指示。
操作S103,电子设备利用目标线程池中的线程,执行任务队列中的任务。
操作系统利用目标线程池中的线程,执行任务队列中的任务。示例性地,在任务队列类型为串行任务队列的情况下,操作系统可以利用目标线程池中的一个空闲线程,执行任务队列中的任务。在任务队列类型为并行任务队列的情况下,操作系统可以利用目标线程池中的n个空闲线程执行任务队列中的任务,n的最大值为任务队列中任务的数量。
一种示例方式,在相机应用的运行过程中,可以通过应用性能监测模块,获取与相机应用关联的性能监测数据。通过应用服务模块,根据与相机应用关联的性能监测数据,调节目标线程池中的线程优先级。
性能监测数据例如包括相机应用运行时的帧率、启动时长、响应时长和照片保存时长等信息。在性能监测数据指示相机应用存在画面丢帧的情况下,应用服务模块根据目标相机功能的功能运行特征,调节目标线程池中的线程优先级。功能运行特征包括目标相机功能的以下信息中的至少之一:功能类型、功能运行平台、功能是否可感知和功能应用频率。
示例性地,在功能类型指示目标相机功能为预设重要功能的情况下,应用服务模块可以提升目标线程池中的线程优先级。在功能类型指示目标相机功能为预设非重要功能的情况下,应用服务模块可以降低目标线程池中的线程优先级。预设重要功能例如包括人脸识别功能、主体检测功能等,预设非重要功能例如包括微笑检测功能、环境识别功能等。预设重要功能可以是相机应用易于被感知的基础功能,在相机应用存在画面丢帧的情况下,对用于实现预设重要功能的线程优先级进行提升,可以有效保障相机应用的流畅性和稳定性。
在功能运行平台指示目标相机功能运行于前台的情况下,应用服务模块可以提升目标线程池中的线程优先级。在功能运行平台指示目标相机功能运行于后台的情况下,应用服务模块可以降低目标线程池中的线程优先级。
示例性地,功能运行平台指示了目标相机功能是否显示于电子设备的用户界面上,功能运行平台包括前台和后台。前台例如是电子设备中用户直接交互的部分,包括图形用户界面或命令界面等。后台例如是位于电子设备的用户界面之后运行的部分,用户不直接参与相机功能的实现。
在功能运行平台指示目标相机功能运行于前台的情况下,提升目标线程池中的线程优先级,可以为目标相机功能提供更多的计算资源,保证目标相机功能的流畅实现。在功能运行平台指示目标相机功能运行于后台的情况下,降低目标线程池中的线程优先级,由于相机应用处于计算资源需求较少的状态,通过降低目标线程池中的线程优先级,有利于保证计算资源的合理化分配。
根据功能运行平台对线程优先级进行调节,有利于实现任务的精细化处理,能够有效提升相机应用的稳定性和流畅性,有利于改善用户使用体验。
在功能运行特征指示目标相机功能为可感知功能的情况下,应用服务模块可以提升目标线程池中的线程优先级。在功能运行特征指示目标相机功能为非可感知功能的情况下,应用服务模块可以降低目标线程池中的线程优先级。
在目标相机功能可被用户感知到的情况下,提升目标线程池中的线程优先级,有利于保证目标相机功能实现的稳定性。相机应用的可感知功能例如包括照片预览功能、人脸识别功能、手势识别功能和自动对焦功能等。在目标相机功能不易被用户感知的情况下,降低目标线程池中的线程优先级,有利于保证其他相机功能实现的流畅性。非可感知功能不直接涉及相机应用对环境或用户行为的感知,例如包括智能场景识别功能、动态范围优化功能、环境光感应功能等。
在功能运行特征指示目标相机功能的应用频率高于第一预设阈值的情况下,应用服务模块可以提升目标线程池中的线程优先级。在功能运行特征指示目标相机功能的应用频率低于第二预设阈值的情况下,应用服务模块可以降低目标线程池中的线程优先级,第一预设阈值大于或等于第二预设阈值。
一种示例方式,可以利用CPU资源调度模块,根据相机应用运行时的性能监测数据,对与目标线程池匹配的CPU资源进行调度。CPU资源包括以下参数中的至少之一:CPU频点、线程所运行于的CPU核以及是否允许执行系统动作。
示例性地,在性能监测数据指示相机应用运行时存在画面丢帧的情况下,CPU资源调度模块可以根据目标相机功能的功能运行特征,执行以下操作中的至少之一:调节目标线程池中的线程所运行于的CPU核、调节CPU频点、确定是否执行与目标相机功能匹配的系统动作。
CPU频点是指CPU的工作频率,通常以GHz(千兆赫兹)为单位。线程所运行于CPU核是指线程所运行于的物理CPU核心,可以包括大核心和小核心。安卓系统中的系统动作(system actions)可以是预先定义的操作或事件,可以由应用程序或系统本身触发,以用于启动、停止或执行应用程序之间的交互。
另一示例方式,在相机应用的运行过程中,利用CPU负载检测模块,获取电子设备的操作系统的实时负载数据。利用CPU资源调度模块,根据实时负载数据,调节目标线程池中的线程优先级,和/或对与目标线程池匹配的CPU资源进行调度。实时负载数据包括以下参数中的至少之一:当前已创建线程的数量、处理器空闲比、处理器内存占用率和CPU程序占比。例如,CPU资源调度模块对分配给相机应用的CPU频点、线程池中的线程所运行于的CPU核、是否允许执行系统动作和内存剩余量等资源进行调度。
可以通过应用服务模块,根据任务队列中的任务的数量,调节目标线程池中的线程数量。示例性地,在任务的数量达到用于创建线程的至少一个目标数量时,在目标线程池中创建新线程。目标数量为根据目标线程池中的核心线程数、预设最大线程数和任务队列的长度确定得到。核心线程数可以是电子设备的默认值,例如是电子设备的CPU的核心数,核心线程数例如为2。
可以根据目标线程池中的核心线程数、预设最大线程数和任务队列的长度确定步长,步长用于表示创建新线程所需的任务增长量。任务队列中任务的数量增长至少一个步长,应用服务模块在线程池中创建一个新线程。
示例性地,步长step=Length/(N_max-N_core),Length表示任务队列的长度,Length例如可由任务队列中任务的数量指示。N_max表示预设最大线程数,N_core表示核心线程数。例如,核心线程数N_core为2,预设最大线程数N_max为12,任务队列的长度Length为100,步长step则为10。即,任务队列中任务的数量增长至少一个10,应用服务模块在线程池中创建一个新线程,线程池中的线程数量需要小于或者等于预设最大线程数。
应用服务模块还可以监测目标线程池中的各线程执行当前任务的运行时长。在运行时长指示存在线程运行超时的情况下,应用服务模块可以在目标线程池中创建新线程。另外,在目标线程池中存在处于空闲状态的时长大于预设时长阈值的空闲线程的情况下,应用服务模块可以销毁空闲线程。
图5示意性示出了任务队列与线程池的示意图,如图5所示,相机应用的待执行任务包括任务1、任务2、……、任务10,电子设备的操作系统在处理相机应用的待执行任务时,任务1、任务2、……、任务6被存储于任务队列1,任务7、任务8、任务9、任务10被存储于任务队列2,任务队列1和任务队列2用于实现不同的相机功能。任务队列1与线程池1之间具有预设绑定关系,利用线程池1中的线程1执行存储于任务队列1中的任务。任务队列2与线程池2之间具有预设绑定关系,利用线程池2中的线程3、线程4执行存储于任务队列1中的任务。
图6示意性示出了一种任务处理的过程示意图,如图6所示,相机任务处理的过程例如包括操作S201~操作S204。
操作S201,电子设备响应于对相机应用的功能触发操作,确认被触发的目标相机功能。被触发的目标相机功能可能不止一个,例如,在相机应用被启动之后,经触发的目标相机功能例如包括人脸识别功能、主体检测功能、环境光检测功能等。
操作S202,电子设备加载配置文件。目相机功能可由感知类算法实现,配置文件中包括与感知类算法匹配的预设算法优先级。算法优先级可以影响感知类算法获取GPU资源的速度,具体表现为高优先级的算法更有可能更快地获得GPU资源。
操作S203,电子设备构建用于实现目标相机功能的任务队列。示例性地,电子设备将感知类算法分解为至少一个任务,得到由至少一个任务构成的任务队列。
在操作S204,电子设备利用多线程执行任务。电子设备的操作系统预先创建有多个线程池,各线程池中的线程数量、线程优先级、线程所运行于的CPU核可调节。线程池与相机功能之间具有预设绑定关系,电子设备基于预设绑定关系,确定与任务队列匹配的目标线程池,并利用目标线程池中的线程执行任务队列中的任务。
图7示意性示出了另一任务处理的过程示意图,如图7所示,线程池管理对象用于管理线程池资源,例如用于管理线程池1、线程池2、……、线程池n。以线程池1为例,线程池管理对象在线程池1中创建预设数量的线程,并对线程优先级、线程所运行于的CPU核进行设置。任务管理对象用于管理任务队列,例如用于管理任务队列1、任务队列2、……、任务队列n。
线程池与任务队列之间具有预设绑定关系,例如线程池1与任务队列1之间具有绑定关系,任务队列1中存储的任务可由线程池1中的线程执行。在任务执行的过程中,线程池管理对象监测线程池状态。在线程池存在线程闲置的情况下,线程池管理对象回收线程资源。例如,在线程池存在处于空闲状态的时长大于预设时长阈值的空闲线程的情况下,线程池管理对象销毁对应空闲线程。在任务执行过程中存在排队严重的情况下,线程池管理对象创建新线程,并利用新线程参与执行任务。在任务队列1中的任务执行完成之后,线程池管理对象回收线程池1中的线程资源。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例还提供一种电子设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行以下步骤:响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;基于预设绑定关系,确定与任务队列匹配的目标线程池;以及利用目标线程池中的线程,执行任务队列中的任务。目标线程池中的线程优先级可调节。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的任务处理方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的任务处理方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的任务处理方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性地存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (19)
1.一种任务处理方法,应用于电子设备,其特征在于,所述方法包括:
响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;
基于预设绑定关系,确定与所述任务队列匹配的目标线程池;以及
利用所述目标线程池中的线程,执行所述任务队列中的任务。
2.根据权利要求1所述的方法,其特征在于,所述目标线程池中的线程优先级可调节,所述方法还包括:
在所述相机应用的运行过程中,获取与所述相机应用关联的性能监测数据;
根据所述性能监测数据,调节所述目标线程池中的所述线程优先级。
3.根据权利要求2所述的方法,其特征在于,所述根据所述性能监测数据,调节所述目标线程池中的所述线程优先级,包括:
在所述性能监测数据指示所述相机应用存在画面丢帧的情况下,根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,
其中,所述功能运行特征包括所述目标相机功能的以下信息中的至少之一:
功能类型、功能运行平台、功能是否可感知和功能应用频率。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:
在所述功能类型指示所述目标相机功能为预设重要功能的情况下,提升所述目标线程池中的所述线程优先级;以及
在所述功能类型指示所述目标相机功能为预设非重要功能的情况下,降低所述目标线程池中的所述线程优先级。
5.根据权利要求3所述的方法,其特征在于,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:
在所述功能运行平台指示所述目标相机功能运行于前台的情况下,提升所述目标线程池中的所述线程优先级;以及
在所述功能运行平台指示所述目标相机功能运行于后台的情况下,降低所述目标线程池中的所述线程优先级。
6.根据权利要求3所述的方法,其特征在于,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:
在所述功能运行特征指示所述目标相机功能为可感知功能的情况下,提升所述目标线程池中的所述线程优先级;以及
在所述功能运行特征指示所述目标相机功能为非可感知功能的情况下,降低所述目标线程池中的所述线程优先级。
7.根据权利要求3所述的方法,其特征在于,所述根据所述目标相机功能的功能运行特征,调节所述目标线程池中的所述线程优先级,包括:
在所述功能运行特征指示所述目标相机功能的应用频率高于第一预设阈值的情况下,提升所述目标线程池中的所述线程优先级;以及
在所述功能运行特征指示所述目标相机功能的应用频率低于第二预设阈值的情况下,降低所述目标线程池中的所述线程优先级,
其中,所述第一预设阈值大于或等于所述第二预设阈值。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述性能监测数据,对与所述目标线程池匹配的CPU资源进行调度,
其中,所述CPU资源包括以下参数中的至少之一:CPU频点、线程所运行于的CPU核以及是否允许执行系统动作。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述相机应用的运行过程中,获取所述电子设备的操作系统的实时负载数据;以及
根据所述实时负载数据,调节所述目标线程池中的所述线程优先级,和/或对与所述目标线程池匹配的CPU资源进行调度,
其中,所述实时负载数据包括以下参数中的至少之一:
当前已创建线程的数量、处理器空闲比、处理器内存占用率和CPU程序占比。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述任务队列中的所述任务的数量,调节所述目标线程池中的线程数量。
11.根据权利要求10所述的方法,其特征在于,所述根据所述任务队列中的所述任务的数量,调节所述目标线程池中的线程数量,包括:
在所述任务的数量达到用于创建线程的至少一个目标数量时,在所述目标线程池中创建新线程,
其中,所述目标数量为根据所述目标线程池中的核心线程数、预设最大线程数和所述任务队列的长度确定得到。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标线程池中存在处于空闲状态的时长大于预设时长阈值的空闲线程的情况下,销毁所述空闲线程。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测所述目标线程池中的各线程执行当前任务的运行时长;以及
在所述运行时长指示存在线程运行超时的情况下,在所述目标线程池中创建新线程。
14.根据权利要求1所述的方法,其特征在于,所述响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列,包括:
响应于所述功能触发操作,确定用于实现所述目标相机功能的感知类算法;以及
将所述感知类算法分解为至少一个任务,得到由所述至少一个任务构成的所述任务队列。
15.根据权利要求14所述的方法,其特征在于,所述感知类算法具有预设的算法优先级,所述方法还包括:
在所述相机应用的运行过程中,获取与所述相机应用关联的性能监测数据;
根据所述性能监测数据,调节所述感知类算法的所述算法优先级。
16.根据权利要求14所述的方法,其特征在于,所述感知类算法具有预设的算法优先级,所述任务队列与所述目标线程池之间的所述绑定关系是根据所述算法优先级和所述线程优先级确定的。
17.根据权利要求16所述的方法,其特征在于,所述绑定关系还可以根据线程池中的线程数量和所述任务队列的长度确定。
18.一种电子设备,其特征在于,包括:一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
响应于对相机应用的功能触发操作,确定与目标相机功能匹配的任务队列;
基于预设绑定关系,确定与所述任务队列匹配的目标线程池;以及
利用所述目标线程池中的线程,执行所述任务队列中的任务。
19.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至17中任意一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311864934.5A CN118467149A (zh) | 2023-12-29 | 2023-12-29 | 一种任务处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311864934.5A CN118467149A (zh) | 2023-12-29 | 2023-12-29 | 一种任务处理方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118467149A true CN118467149A (zh) | 2024-08-09 |
Family
ID=92162518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311864934.5A Pending CN118467149A (zh) | 2023-12-29 | 2023-12-29 | 一种任务处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118467149A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905326A (zh) * | 2021-02-18 | 2021-06-04 | 上海哔哩哔哩科技有限公司 | 任务处理方法及装置 |
CN113535251A (zh) * | 2020-04-13 | 2021-10-22 | 华为技术有限公司 | 一种线程管理方法及装置 |
CN114461393A (zh) * | 2022-01-26 | 2022-05-10 | 阿波罗智能技术(北京)有限公司 | 多任务调度方法、装置、电子设备、系统及自动驾驶车辆 |
-
2023
- 2023-12-29 CN CN202311864934.5A patent/CN118467149A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535251A (zh) * | 2020-04-13 | 2021-10-22 | 华为技术有限公司 | 一种线程管理方法及装置 |
CN112905326A (zh) * | 2021-02-18 | 2021-06-04 | 上海哔哩哔哩科技有限公司 | 任务处理方法及装置 |
CN114461393A (zh) * | 2022-01-26 | 2022-05-10 | 阿波罗智能技术(北京)有限公司 | 多任务调度方法、装置、电子设备、系统及自动驾驶车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573829B2 (en) | Task processing method and apparatus, terminal, and computer readable storage medium | |
WO2021000881A1 (zh) | 一种分屏方法及电子设备 | |
CN116089096B (zh) | 负载资源调度方法及电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
CN115292052B (zh) | 内存回收方法、电子设备及计算机可读存储介质 | |
CN116996762B (zh) | 一种自动曝光方法、电子设备及计算机可读存储介质 | |
WO2022078105A1 (zh) | 内存管理方法、电子设备以及计算机可读存储介质 | |
EP4280060A1 (en) | Power consumption control method and apparatus | |
CN117130773B (zh) | 资源分配方法、装置和设备 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN116708958B (zh) | 马达控制方法及电子设备 | |
CN111880661A (zh) | 手势识别方法及装置 | |
CN118467149A (zh) | 一种任务处理方法及电子设备 | |
CN115460343A (zh) | 图像处理方法、设备及存储介质 | |
CN116720533A (zh) | 扫码方法、电子设备及可读存储介质 | |
CN115714908A (zh) | 工作模式的切换控制方法、电子设备及可读存储介质 | |
CN115083400A (zh) | 语音助手唤醒方法及装置 | |
CN116700944B (zh) | 一种内存回收方法、装置及电子设备 | |
CN117130680B (zh) | 一种芯片资源的调用方法及电子设备 | |
CN116450363B (zh) | 一种资源调度方法及电子设备 | |
WO2023160224A9 (zh) | 一种拍摄方法及相关设备 | |
CN117130698B (zh) | 一种菜单显示方法及电子设备 | |
CN118042263A (zh) | 一种图像采集方法、电子设备和存储介质 | |
CN117950846A (zh) | 资源调度方法及相关装置 | |
CN117707242A (zh) | 温度控制方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |