CN115269232A - 任务处理方法、装置、设备及介质 - Google Patents

任务处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN115269232A
CN115269232A CN202210948929.1A CN202210948929A CN115269232A CN 115269232 A CN115269232 A CN 115269232A CN 202210948929 A CN202210948929 A CN 202210948929A CN 115269232 A CN115269232 A CN 115269232A
Authority
CN
China
Prior art keywords
task
task queue
enqueuing
tasks stored
determining
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
Application number
CN202210948929.1A
Other languages
English (en)
Inventor
杨泽星
闫森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Mobile Communications Technology Co Ltd
Original Assignee
Hisense Electronic Technology Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hisense Electronic Technology Shenzhen Co ltd filed Critical Hisense Electronic Technology Shenzhen Co ltd
Priority to CN202210948929.1A priority Critical patent/CN115269232A/zh
Publication of CN115269232A publication Critical patent/CN115269232A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种任务处理方法、装置、设备及介质。通过在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取任务队列中存储的任务的实际数量;基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;针对任意一个任务类型,根据任务类型对应的入队速度,对任务类型的任务进行入队处理。由此可以控制任务队列的入队速度,从而缓解了任务队列中任务的拥塞程度,极大的增加了对任务的处理速度,还节省了终端设备的资源以及极大的提升了终端设备的泰尔抗老化分数。

Description

任务处理方法、装置、设备及介质
技术领域
本申请涉及终端技术领域,特别涉及一种任务处理方法、装置、设备及介质。
背景技术
在android(安卓系统)的FUSE(Filesystem in Userspace,用户空间文件系统)中,为了灵活的权限管理和快速准确的存储统计,fuse deamon(守护进程)和mediaservice(媒体服务)被放到了media provider(媒体提供者)中。
现有技术中,FUSE的文件操作和任务处理分属于两个不同的线程,因此fusedeamon和mediaservice中每个文件的操作都会生成后台任务,这些后台任务会被加入到Handler(处理机)线程的任务队列中,最后被任务处理线程逐一处理。但是当批量文件操作时,会使得Handler线程的任务队列出现拥塞的现象,导致处理任务的速度变得非常缓慢。
发明内容
本申请的目的是提供一种任务处理方法、装置、设备及介质,用以解决任务队列拥塞,导致处理任务的速度缓慢的问题。
第一方面,本申请提供一种任务处理方法,所述方法包括:
在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;
基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;
针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理。
在一种可能的实施方式中,所述基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,包括:
基于实时获取到的所述任务队列中存储的任务的实际数量和所述任务队列中存储任务的数量阈值,确定所述任务队列对应的入队速度;
基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列对应的入队速度,为所述各个任务类型分别分配对应的入队速度。
在一种可能的实施方式中,所述数量阈值包括第一数量阈值和第二数量阈值,所述第一数量阈值小于所述第二数量阈值;
所述基于实时获取到的所述任务队列中存储的任务的实际数量和所述任务队列中存储任务的数量阈值,确定所述任务队列对应的入队速度,包括:
若所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述第一数量阈值,则确定所述任务队列对应的入队速度为第一入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第一数量阈值,且不大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第二入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第三入队速度;
其中,所述第一入队速度大于所述第二入队速度,所述第二入队速度大于所述第三入队速度。
在一种可能的实施方式中,所述基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,包括:
基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列中存储任务的数量阈值,确定所述各个任务类型分别对应的数量阈值;
基于实时获取到的所述任务队列中存储的任务的实际数量和所述各个任务类型分别对应的数量阈值,确定所述各个任务类型分别对应的入队速度。
在一种可能的实施方式中,所述基于实时获取到的所述任务队列中存储的任务的实际数量和所述各个任务类型分别对应的数量阈值,确定所述各个任务类型分别对应的入队速度,包括:
针对所述任务队列支持的任意一个任务类型:
当所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述数量阈值时,确定所述任务类型对应的入队速度为第四入队速度;
当所述实时获取到的所述任务队列中存储的任务的实际数量大于所述数量阈值时,确定所述任务类型对应的入队速度为第五入队速度。
在一种可能的实施方式中,所述实时获取所述任务队列中存储的任务的实际数量,包括:
对所述任务队列执行加锁操作;并在执行加锁操作之后遍历所述任务队列,确定所述任务队列中存储的任务的实际数量;或者,
实时监测所述任务队列支持的各个任务类型的任务的入队出队操作;根据执行入队操作和/或出队操作的次数,统计所述任务队列中存储的任务的实际数量。
在一种可能的实施方式中,所述确定Handler线程的任务队列中存储任务的数量阈值,包括:
获取所述Handler线程对应的进程的剩余内存空间;
基于所述剩余内存空间和预设的存储比例,确定所述进程中存储所述任务队列的内存空间;
基于所述进程中存储所述任务队列的内存空间和所述任务队列中一个任务占用的内存空间,确定所述任务队列中存储任务的数量阈值。
第二方面,本申请提供一种任务处理装置,所述装置包括:
获取模块,用于在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;
速度确定模块,用于基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;
处理模块,用于针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理。
第三方面,本申请提供一种终端设备,包括:
处理器和存储器;
所述存储器,用于存储所述处理器可执行指令;
所述处理器被配置为执行所述指令以实现如上述第一方面中任一项所述的任务处理方法。
第四方面,本申请提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备执行时,使得所述终端设备能够执行如上述第一方面中任一项所述的任务处理方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序:
所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的任务处理方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例通过在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取任务队列中存储的任务的实际数量;基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;针对任意一个任务类型,根据任务类型对应的入队速度,对任务类型的任务进行入队处理。由此可以控制任务队列的入队速度,从而缓解了任务队列中任务的拥塞程度,极大的增加了对任务的处理速度,还节省了终端设备的资源以及极大的提升了终端设备的泰尔抗老化分数。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务处理方法的应用场景图;
图2为本申请实施例提供的一种终端设备的结构示意图;
图3为本申请实施例提供的一种终端设备的软件结构框图;
图4为本申请实施例提供的一种任务处理方法的流程示意图;
图5为本申请实施例提供的一种任务队列中存储任务的数据阈值的确定方法的流程示意图;
图6为本申请实施例提供的一种入队速度的确定方法的流程示意图;
图7为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图8为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图9为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图10为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图11为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图12为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图13为本申请实施例提供的另一种入队速度的确定方法的流程示意图;
图14为本申请实施例提供的一种各个任务类型进入任务队列的示意图;
图15为本申请实施例提供的终端设备的android的FUSE的方框图;
图16为本申请实施例提供的另一种终端设备的示意图;
图17为本申请实施例提供的一种任务处理装置的示意图;
图18为本申请实施例提供的另一种任务处理装置的示意图;
图19为本申请实施例提供的另一种任务处理装置的示意图;
图20为本申请实施例提供的另一种任务处理装置的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
并且,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在android的FUSE中,为了灵活的权限管理和快速准确的存储统计,fuse deamon和mediaservice被放到了media provider中。现有技术中,FUSE的文件操作和任务处理分属于两个不同的线程,因此fuse deamon和mediaservice中每个文件的操作都会生成后台任务,这些后台任务会被加入到Handler(处理机)线程的任务队列中,最后被任务处理线程逐一处理。但是当批量文件操作时,会使得Handler线程的任务队列出现拥塞的现象,导致处理任务的速度变得非常缓慢。例如,当文件操作的速度和任务处理的速度不一致时,任务队列中可能有24万个任务等待处理,会导致Handler(处理机)线程的任务队列拥塞。这么多任务仅入队时的遍历就耗费很多CPU,更严重的是,24万个任务会占用大量的内存,会导致进程内存不足。任务的处理依赖足够的内存,而内存恰恰被这些不能释放的任务所占用,导致任务的处理在极其缓慢的执行,形成了一个死循环。
有鉴于此,本申请提供了一种任务处理方法、装置、设备及介质,用以解决任务队列拥塞,导致处理任务的速度缓慢的问题。
本申请的发明构思可概括为:本申请实施例中通过在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取任务队列中存储的任务的实际数量;基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;针对任意一个任务类型,根据任务类型对应的入队速度,对任务类型的任务进行入队处理。由此可以控制任务队列的入队速度,从而缓解了任务队列中任务的拥塞程度,极大的增加了对任务的处理速度,还节省了终端设备的资源以及极大的提升了终端设备的泰尔抗老化分数。
在介绍完本申请实施例的主要发明思想之后,下面结合附图对本申请实施例提供的一种任务处理方法的应用场景图进行介绍。图1中包括:用户101、终端设备102、数据库103,其中:
用户101,用于启动终端设备102后;
终端设备102,用于在终端设备102启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理;
数据库103,用于根据对所述任务队列中存储的任务的处理结果进行数据更新。
当然,本申请实施例提供的方法并不限于图1所示的应用场景,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
在介绍完本申请提供的任务处理方法的应用场景图之后,下面先对本申请提供的终端设备进行说明。
图2示出了一种终端设备100的结构示意图。应该理解的是,图2所示终端设备100仅是一个范例,并且终端设备100可以具有比图2中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
图2中示例性示出了根据示例性实施例中终端设备100的硬件配置框图。如图2所示,终端设备100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、处理器180、蓝牙模块181、以及电源190等部件。
RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行终端设备100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端设备100能运行的操作系统。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例任务处理方法的程序代码。
显示单元130可用于接收输入的数字或字符信息,产生与终端设备100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在终端设备100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮。
显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端设备100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在终端设备100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。
其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现终端设备100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元130可以显示应用程序以及对应的操作步骤。
摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
终端设备100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端设备100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路160、扬声器161、麦克风162可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。终端设备100还可配置音量按钮,用于调节声音信号的音量,还可以用于组合其他按钮,调整封闭区域。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端设备,或者将音频数据输出至存储器120以便进一步处理。
Wi-Fi属于短距离无线传输技术,终端设备100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的任务处理方法。另外,处理器180与显示单元130耦接。
蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
终端设备100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端设备100还可配置有电源按钮,用于终端设备的开机和关机,以及锁屏等功能。
图3是本申请实施例的一种终端设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包可以包括电话、彩信,WiFi,微信,信息,闹钟,图库,日历,WLAN等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、短信息等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信息通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息(例如短信息的消息内容),可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D(一种动画方式)图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
本申请实施例中的终端100可以为包括但不限于智能手机、平板电脑、可穿戴电子设备(例如智能手表)、笔记本电脑等电子设备。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
参见图4,为本申请实施例提供的一种任务处理方法的流程示意图。如图4所示,该方法包括以下步骤:
在步骤401中,在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取任务队列中存储的任务的实际数量。
在一种可能的实施方式中,本申请实施例中实时获取任务队列中存储的任务的实际数量,可以执行为以下两种方式:
方式一:对任务队列执行加锁操作;并在执行加锁操作之后遍历任务队列,确定任务队列中存储的任务的实际数量。
方式二:实时监测任务队列支持的各个任务类型的任务的入队出队操作;根据执行入队操作和/或出队操作的次数,统计任务队列中存储的任务的实际数量。
示例性的,在终端设备启动后,开始实时监测任务队列支持的各个任务类型的任务的入队出队操作;每执行一次入队操作,则任务队列中存储的任务的实际数量增加一个,每执行一次出队操作,则任务队列中存储的任务的实际数量增减少一个。例如在获取任务队列中存储的任务的实际数量时,检测到的任务队列支持的各个任务类型的任务共执行了100次入队操作,共执行了20次出队操作,则统计得到的任务队列中存储的任务的实际数量为80个。
在一种可能的实施方式中,本申请实施例中确定Handler线程的任务队列中存储任务的数量阈值,可以执行为如图5所示的步骤:
在步骤501中,获取Handler线程对应的进程的剩余内存空间;
在步骤502中,基于剩余内存空间和预设的存储比例,确定进程中存储任务队列的内存空间;
在步骤503中,基于进程中存储任务队列的内存空间和任务队列中一个任务占用的内存空间,确定任务队列中存储任务的数量阈值。
示例性的,可以使用剩余内存空间乘以预设的存储比例,得到进程中存储任务队列的内存空间,然后使用进程中存储任务队列的内存空间除以任务队列中一个任务占用的内存空间,得到任务队列中存储任务的数量阈值。
由此,本申请实施例可以确定任务队列中存储任务的数量阈值以及获取到任务队列中存储的任务的实际数量,以便调节任务队列的入队速度。
在步骤402中,基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度。
在步骤403中,针对任意一个任务类型,根据任务类型对应的入队速度,对任务类型的任务进行入队处理。
在一种可能的实施方式中,步骤402中的基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,可以执行为如图6所示的步骤:
在步骤601中,基于实时获取到的任务队列中存储的任务的实际数量和任务队列中存储任务的数量阈值,确定任务队列对应的入队速度;
在步骤602中,基于任务队列支持的各个任务类型的优先级信息和任务队列对应的入队速度,为各个任务类型分别分配对应的入队速度。
在一种可能的实施方式中,步骤601中的数量阈值包括第一数量阈值和第二数量阈值,第一数量阈值小于第二数量阈值;因此步骤601中的基于实时获取到的任务队列中存储的任务的实际数量和任务队列中存储任务的数量阈值,确定任务队列对应的入队速度,可以执行为如图7所示的步骤:
在步骤701中,若实时获取到的任务队列中存储的任务的实际数量不大于第一数量阈值,则确定任务队列对应的入队速度为第一入队速度;
在步骤702中,若实时获取到的任务队列中存储的任务的实际数量大于第一数量阈值,且不大于第二数量阈值,则确定任务队列对应的入队速度为第二入队速度;
在步骤703中,若实时获取到的任务队列中存储的任务的实际数量大于第二数量阈值,则确定任务队列对应的入队速度为第三入队速度。
其中,第一入队速度大于第二入队速度,第二入队速度大于第三入队速度。
具体实施时,步骤601中的数量阈值包括第一数量阈值和第二数量阈值,第一数量阈值小于第二数量阈值,此本申请实施例中为了调节任务队列支持的各个任务类型的分别对应的入队速度,可以执行为如图8所示的步骤:
在步骤801中,实时获取到的任务队列中存储的任务的实际数量;
在步骤802中,确定第一入队速度;
在步骤803中,判断实时获取到的任务队列中存储的任务的实际数量是否不大于第一数量阈值,若实时获取到的任务队列中存储的任务的实际数量不大于第一数量阈值,则在步骤804中,确定任务队列对应的入队速度为第一入队速度,然后直接执行步骤809;若实时获取到的任务队列中存储的任务的实际数量大于第一数量阈值,则在步骤805中,确定第二入队速度;
在步骤806中,判断实时获取到的任务队列中存储的任务的实际数量是否不大于第二数量阈值,若实时获取到的任务队列中存储的任务的实际数量不大于第二数量阈值,则在步骤807中,任务队列对应的入队速度为第二入队速度,然后直接执行步骤809;若实时获取到的任务队列中存储的任务的实际数量大于第二数量阈值,则在步骤808中,确定任务队列对应的入队速度为第三入队速度,然后在步骤809中,基于任务队列支持的各个任务类型的优先级信息和任务队列对应的入队速度,为各个任务类型分别分配对应的入队速度。
示例性的,假设任务队列支持的各个任务类型包括扫描、创建、删除、更新,handler线程的拥塞程度对不同优先级的任务类型对应的入队速度的影响是不同的,比如文件的扫描任务的用户感知不强,可以分配较低的优先级,因此需要对各个任务类型分配不同的优先级信息;例如任务类型扫描对应的优先级为低级、任务类型创建对应的优先级为中级、任务类型删除对应的优先级为偏高级、任务类型更新对应的优先级为高级;此时若入队速度为1000个/秒,则根据优先级信息,可以确定任务类型更新对应的入队速度为400个/秒、任务类型删除对应的入队速度为300个/秒、任务类型创建对应的入队速度为200个/秒、任务类型扫描对应的入队速度为100个/秒。
其中,可以使用预设时间段内进入任务队列的任务数量除以预设时间段得到第一入队速度。例如在3秒内进入任务队列的任务数量为300个,则第一入队速度为100个/秒。
其中,第一数量阈值可以通过图5所示的步骤得到,第二数量阈值可以设置为第一数量阈值的n倍,也可以用户根据经验值设置,本申请实施例对此不做限制。
在一种可能的实施方式中,可以使用下列公式确定第二入队速度:
Figure BDA0003788373820000111
其中,V为任务队列对应的第二入队速度,V0为任务队列对应的出队速度,C为实时获取到的任务队列中存储的任务的实际数量,C0为第一数量阈值,n为第二数量阈值为第一数量阈值的n倍。其中任务队列对应的出队速度V0可以使用预设时间段内离开任务队列的任务数量除以预设时间段得到。例如在2秒内离开任务队列的任务数量为100个,则第一入队速度为50个/秒。
示例性的,若实时获取到的任务队列中存储的任务的实际数量为C,第一数量阈值为C0,第二数量阈值为n*C0,第三入队速度为0个/秒,即停止入队;则为了调节任务队列支持的各个任务类型的分别对应的入队速度,可以执行为如图9所示的步骤:
在步骤901中,实时获取到的任务队列中存储的任务的实际数量C;
在步骤902中,使用预设时间段内进入任务队列的任务数量除以预设时间段得到第一入队速度;
在步骤903中,判断C是否不大于第一数量阈值C0;若C不大于第一数量阈值C0,则在步骤904中,确定任务队列对应的入队速度为第一入队速度,然后直接执行步骤910;若C大于第一数量阈值C0,则在步骤905中,确定任务队列对应的出队速度V0;在步骤906中,根据
Figure BDA0003788373820000112
C0)确定第二入队速度;
在步骤907中,判断C是否不大于第二数量阈值n*C0;若C不大于第二数量阈值n*C0,则在步骤908中,确定任务队列对应的入队速度为第二入队速度,然后直接执行步骤910;若C大于第二数量阈值n*C0,则在步骤909中,确定任务队列对应的入队速度为0个/秒,然后在步骤910中,基于任务队列支持的各个任务类型的优先级信息和任务队列对应的入队速度,为各个任务类型分别分配对应的入队速度。
在一种可能的实施方式中,步骤402中的基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,还可以执行为如图10所示的步骤:
在步骤1001中,基于任务队列支持的各个任务类型的优先级信息和任务队列中存储任务的数量阈值,确定各个任务类型分别对应的数量阈值;
在步骤1002中,基于实时获取到的任务队列中存储的任务的实际数量和各个任务类型分别对应的数量阈值,确定各个任务类型分别对应的入队速度。
在一种可能的实施方式中,步骤1002中的基于实时获取到的任务队列中存储的任务的实际数量和各个任务类型分别对应的数量阈值,确定各个任务类型分别对应的入队速度,可以针对任务队列支持的任意一个任务类型,执行为如图11所示的步骤:
在步骤1101中,当实时获取到的任务队列中存储的任务的实际数量不大于数量阈值时,确定任务类型对应的入队速度为第四入队速度;
在步骤1102中,当实时获取到的任务队列中存储的任务的实际数量大于数量阈值时,确定任务类型对应的入队速度为第五入队速度。
具体实施时,本申请实施例中若任务队列中存储任务的数量阈值只有一个,则为了调节任务队列支持的各个任务类型的分别对应的入队速度,可以执行为如图12所示的步骤:
在步骤1201中,基于任务队列支持的各个任务类型的优先级信息和任务队列中存储任务的数量阈值,确定各个任务类型分别对应的数量阈值;
在步骤1202中,当实时获取到的任务队列中存储的任务的实际数量不大于数量阈值时,确定任务类型对应的入队速度为第四入队速度;
在步骤1203中,当实时获取到的任务队列中存储的任务的实际数量大于数量阈值时,确定任务类型对应的入队速度为第五入队速度。
具体实施时,本申请实施例中若任务队列中存储任务的数量阈值包括第一数量阈值和第二数量阈值,第一数量阈值小于第二数量阈值,则为了调节任务队列支持的各个任务类型的分别对应的入队速度,可以执行为如图13所示的步骤:
在步骤1301中,基于任务队列支持的各个任务类型的优先级信息和任务队列中存储任务的第一数量阈值和第二数量阈值,确定各个任务类型分别对应的第一数量阈值和第二数量阈值;
在步骤1302中,从终端设备启动开始计数,在实时获取到的任务队列中存储的任务的实际数量不大于第二数量阈值之前,确定任务类型对应的入队速度为第四入队速度;在步骤1303中,从终端设备启动开始计数,一旦实时获取到的任务队列中存储的任务的实际数量大于第二数量阈值,则确定任务类型对应的入队速度为第五入队速度;之后若实时获取到的任务队列中存储的任务的实际数量再次小于第二数量阈值,且小于第一数量阈值时,则确定任务类型对应的入队速度恢复为第四入队速度。
其中,可以使用在预设时间段内进入任务队列的任务数量除以预设时间段的时长,得到的任务队列对应的入队速度,然后根据任务队列支持的各个任务类型的优先级信息,可以确定各个任务类型对应的第四入队速度。其中,第五入队速度可以和第三入队速度相同,例如可以为0个/秒,也可以不相同,根据经验值设定,例如可以是0.02个/秒。
示例性的,假设任务队列中存储任务的数量阈值包括第一数量阈值和第二数量阈值,则确定各个任务类型分别对应的第一数量阈值和第二数量阈值分别为C0和n*C0;如图14所示,若任务队列支持的各个任务类型包括扫描、创建、删除、更新,且根据各个任务类型的优先级信息,确定扫描对应的第一数量阈值和第二数量阈值分别为C0=1024,n*C0=2560;创建、删除、更新对应的第一数量阈值和第二数量阈值分别为C0=4096,n*C0=10240。当实时获取到的任务队列中存储的任务的实际数量到达2560时,任务类型为扫描的任务禁止进入任务队列,当实时获取到的任务队列中存储的任务的实际数量到达10240时,任务类型为创建、删除、更新的任务禁止进入任务队列;之后由于没有任务进入任务队列,实时获取到的任务队列中存储的任务的实际数量在不断减少,当实时获取到的任务队列中存储的任务的实际数量下降到4096时,任务类型为创建、删除、更新的任务恢复进入任务队列,当实时获取到的任务队列中存储的任务的实际数量下降到1024时,任务类型为扫描的任务恢复进入任务队列。
如图15为终端设备的android的FUSE的方框图。图15所示的终端设备的队列动态控制模块通过本申请实施例提供的任务处理方法控制后台任务队列模块中任务队列的入队速度,从而可以控制fuse deamon模块、fuse deamon模块中的数据库监控子模块、fusedeamon模块中的文件操作后处理子模块、以及media service模块中的扫描模块的速度,从而经过对任务队列的入队速度进行控制,使得文件操作和任务处理两个线程的速度达到一种动态的平衡,缓解了任务队列中任务的拥塞程度,极大的增加了对任务的处理速度。
基于前文的描述,本申请实施例通过在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取任务队列中存储的任务的实际数量;基于实时获取到的任务队列中存储的任务的实际数量、任务队列中存储任务的数量阈值、以及任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;针对任意一个任务类型,根据任务类型对应的入队速度,对任务类型的任务进行入队处理。由此可以控制任务队列的入队速度,从而缓解了任务队列中任务的拥塞程度,极大的增加了对任务的处理速度,还节省了终端设备的资源以及极大的提升了终端设备的泰尔抗老化分数。
基于相同的发明构思,本申请实施例还提供一种终端设备,如图16所示,包括:处理器180、存储器120和总线接口1600,处理器180负责管理总线架构和通常的处理,存储器120可以存储处理器180在执行操作时所使用的数据。
其中,在图16中,总线接口1600可以包括任意数量的互联的总线和桥,具体由处理器180代表的一个或多个处理器180和存储器120代表的存储器120的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口1600提供接口。可选的,处理器180可以是CPU(中央处埋器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件),处理器也可以采用多核架构。
处理器180通过调用存储器120存储的计算机程序,用于按照获得的可执行指令执行本申请实施例提供的任一任务处理方法。处理器180与存储器120也可以物理上分开布置。
在此需要说明的是,本发明实施例提供的上述设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
基于相同的发明构思,本申请实施例还提供一种任务处理装置1700,如图17所示,包括:
获取模块1701,用于在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;
速度确定模块1702,用于基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;
处理模块1703,用于针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理。
在一种可能的实施方式中,如图18所示,所述速度确定模块1702,包括:
队列速度确定单元1801,用于基于实时获取到的所述任务队列中存储的任务的实际数量和所述任务队列中存储任务的数量阈值,确定所述任务队列对应的入队速度;
任务速度确定单元1802,用于基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列对应的入队速度,为所述各个任务类型分别分配对应的入队速度。
在一种可能的实施方式中,所述数量阈值包括第一数量阈值和第二数量阈值,所述第一数量阈值小于所述第二数量阈值;所述队列速度确定单元1801,包括:
若所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述第一数量阈值,则确定所述任务队列对应的入队速度为第一入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第一数量阈值,且不大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第二入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第三入队速度;
其中,所述第一入队速度大于所述第二入队速度,所述第二入队速度大于所述第三入队速度。
在一种可能的实施方式中,如图19所示,所述速度确定模块1702,包括:
阈值确定单元1901,用于基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列中存储任务的数量阈值,确定所述各个任务类型分别对应的数量阈值;
任务速度确定单元1902,用于基于实时获取到的所述任务队列中存储的任务的实际数量和所述各个任务类型分别对应的数量阈值,确定所述各个任务类型分别对应的入队速度。
在一种可能的实施方式中,所述任务速度确定模块1902,包括:
针对所述任务队列支持的任意一个任务类型:
当所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述数量阈值时,确定所述任务类型对应的入队速度为第四入队速度;
当所述实时获取到的所述任务队列中存储的任务的实际数量大于所述数量阈值时,确定所述任务类型对应的入队速度为第五入队速度。
在一种可能的实施方式中,所述获取模块1701,包括:
对所述任务队列执行加锁操作;并在执行加锁操作之后遍历所述任务队列,确定所述任务队列中存储的任务的实际数量;或者,
实时监测所述任务队列支持的各个任务类型的任务的入队出队操作;根据执行入队操作和/或出队操作的次数,统计所述任务队列中存储的任务的实际数量。
在一种可能的实施方式中,如图20所示,所述获取模块1701,包括:
内存空间获取单元2001,用于获取所述Handler线程对应的进程的剩余内存空间;
内存空间获取单元2001,还用于基于所述剩余内存空间和预设的存储比例,确定所述进程中存储所述任务队列的内存空间;
数量阈值确定单元2002,用于基于所述进程中存储所述任务队列的内存空间和所述任务队列中一个任务占用的内存空间,确定所述任务队列中存储任务的数量阈值。
在示例性实施例中,本申请还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器120,上述指令可由终端设备100的处理器180执行以完成上述任务处理方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器180执行时实现如本申请提供的任务处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种任务处理方法,其特征在于,所述方法包括:
在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;
基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;
针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理。
2.根据权利要求1所述的方法,其特征在于,所述基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,包括:
基于实时获取到的所述任务队列中存储的任务的实际数量和所述任务队列中存储任务的数量阈值,确定所述任务队列对应的入队速度;
基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列对应的入队速度,为所述各个任务类型分别分配对应的入队速度。
3.根据权利要求2所述的方法,其特征在于,所述数量阈值包括第一数量阈值和第二数量阈值,所述第一数量阈值小于所述第二数量阈值;
所述基于实时获取到的所述任务队列中存储的任务的实际数量和所述任务队列中存储任务的数量阈值,确定所述任务队列对应的入队速度,包括:
若所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述第一数量阈值,则确定所述任务队列对应的入队速度为第一入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第一数量阈值,且不大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第二入队速度;
若所述实时获取到的所述任务队列中存储的任务的实际数量大于所述第二数量阈值,则确定所述任务队列对应的入队速度为第三入队速度;
其中,所述第一入队速度大于所述第二入队速度,所述第二入队速度大于所述第三入队速度。
4.根据权利要求1所述的方法,其特征在于,所述基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度,包括:
基于所述任务队列支持的各个任务类型的优先级信息和所述任务队列中存储任务的数量阈值,确定所述各个任务类型分别对应的数量阈值;
基于实时获取到的所述任务队列中存储的任务的实际数量和所述各个任务类型分别对应的数量阈值,确定所述各个任务类型分别对应的入队速度。
5.根据权利要求4所述的方法,其特征在于,所述基于实时获取到的所述任务队列中存储的任务的实际数量和所述各个任务类型分别对应的数量阈值,确定所述各个任务类型分别对应的入队速度,包括:
针对所述任务队列支持的任意一个任务类型:
当所述实时获取到的所述任务队列中存储的任务的实际数量不大于所述数量阈值时,确定所述任务类型对应的入队速度为第四入队速度;
当所述实时获取到的所述任务队列中存储的任务的实际数量大于所述数量阈值时,确定所述任务类型对应的入队速度为第五入队速度。
6.根据权利要求1所述的方法,其特征在于,所述实时获取所述任务队列中存储的任务的实际数量,包括:
对所述任务队列执行加锁操作;并在执行加锁操作之后遍历所述任务队列,确定所述任务队列中存储的任务的实际数量;或者,
实时监测所述任务队列支持的各个任务类型的任务的入队出队操作;根据执行入队操作和/或出队操作的次数,统计所述任务队列中存储的任务的实际数量。
7.根据权利要求1所述的方法,其特征在于,所述确定Handler线程的任务队列中存储任务的数量阈值,包括:
获取所述Handler线程对应的进程的剩余内存空间;
基于所述剩余内存空间和预设的存储比例,确定所述进程中存储所述任务队列的内存空间;
基于所述进程中存储所述任务队列的内存空间和所述任务队列中一个任务占用的内存空间,确定所述任务队列中存储任务的数量阈值。
8.一种任务处理装置,其特征在于,所述装置包括:
获取模块,用于在终端设备启动后,确定Handler线程的任务队列中存储任务的数量阈值,以及实时获取所述任务队列中存储的任务的实际数量;
速度确定模块,用于基于实时获取到的所述任务队列中存储的任务的实际数量、所述任务队列中存储任务的数量阈值、以及所述任务队列支持的各个任务类型的优先级信息,确定各个任务类型分别对应的入队速度;
处理模块,用于针对任意一个任务类型,根据所述任务类型对应的入队速度,对所述任务类型的任务进行入队处理。
9.一种终端设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储所述处理器可执行指令;
所述处理器被配置为执行所述指令以实现如权利要求1-7中任一项所述的任务处理方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由终端设备执行时,使得所述终端设备能够执行如权利要求1-7中任一项所述的任务处理方法。
CN202210948929.1A 2022-08-09 2022-08-09 任务处理方法、装置、设备及介质 Pending CN115269232A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210948929.1A CN115269232A (zh) 2022-08-09 2022-08-09 任务处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210948929.1A CN115269232A (zh) 2022-08-09 2022-08-09 任务处理方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115269232A true CN115269232A (zh) 2022-11-01

Family

ID=83749316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210948929.1A Pending CN115269232A (zh) 2022-08-09 2022-08-09 任务处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115269232A (zh)

Similar Documents

Publication Publication Date Title
CN111367456A (zh) 通信终端及多窗口模式下的显示方法
CN112114733B (zh) 一种截屏、录屏方法、移动终端及计算机存储介质
CN113473074B (zh) 一种检测方法、电子设备、检测设备以及存储介质
CN113709026B (zh) 即时通信消息的处理方法、设备、存储介质和程序产品
CN113836540A (zh) 管理应用权限的方法、设备、存储介质和程序产品
CN116089096B (zh) 负载资源调度方法及电子设备
CN113055585B (zh) 拍摄界面的缩略图显示方法及移动终端
CN113038141A (zh) 视频帧处理方法及电子设备
CN112835472A (zh) 通信终端及显示方法
CN114339419B (zh) 一种视频流拉流处理的方法、装置及存储介质
CN113641431A (zh) 二维码的增强显示的方法和终端设备
CN114356559A (zh) 一种多线程控制方法及终端设备
CN115269232A (zh) 任务处理方法、装置、设备及介质
CN113900740A (zh) 加载多项列表数据的方法及装置
CN114546219A (zh) 图片列表的处理方法及相关装置
CN114035870A (zh) 一种终端设备、应用资源控制方法和存储介质
CN111159734A (zh) 通信终端及多应用数据互访处理方法
CN113760164A (zh) 显示设备及其控制操作的响应方法
CN111787157A (zh) 移动终端及其操作响应方法
CN111225113A (zh) 一种通信终端及通信终端的开机方法
CN113255644B (zh) 显示设备及其图像识别方法
CN113253905B (zh) 基于多指操作的触控方法及智能终端
CN111142648B (zh) 一种数据处理方法和智能终端
CN111988530B (zh) 移动终端及其拍照方法
CN115421662A (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
TA01 Transfer of patent application right

Effective date of registration: 20230825

Address after: 266071 Shandong city of Qingdao province Jiangxi City Road No. 11

Applicant after: Qingdao Hisense Mobile Communication Technology Co.,Ltd.

Address before: 9 / F, Hisense south building, 1777 Chuangye Road, Yuehai street, Nanshan District, Shenzhen, Guangdong 518054

Applicant before: HISENSE ELECTRONIC TECHNOLOGY (SHENZHEN) Co.,Ltd.

TA01 Transfer of patent application right