CN111782295A - 一种应用程序的运行方法、装置、电子设备及存储介质 - Google Patents
一种应用程序的运行方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111782295A CN111782295A CN202010608760.6A CN202010608760A CN111782295A CN 111782295 A CN111782295 A CN 111782295A CN 202010608760 A CN202010608760 A CN 202010608760A CN 111782295 A CN111782295 A CN 111782295A
- Authority
- CN
- China
- Prior art keywords
- task
- target task
- thread
- executed
- execution time
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开一种应用程序的运行方法、装置、电子设备及存储介质,涉及计算机技术领域,能够有效提高系统性能和用户体验。所述方法包括:获取应用程序中待执行任务的执行时间设置信息;当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。本发明可用于计算机程序运行。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序的运行方法、装置、电子设备及存储介质。
背景技术
电脑、手机等终端中通常安装有用于实现各种功能的应用程序。为了实现应用程序的一些功能,例如安全监测功能、快速通信响应功能等,应用程序常常会频繁被唤醒或自启动,而当这些应用程序集中运行时,就会大量消耗系统资源,严重降低系统性能和用户体验。
发明内容
有鉴于此,本发明实施例提供一种应用程序的运行方法、装置、电子设备及存储介质,能够有效提高系统性能和用户体验。
第一方面,本发明实施例提供一种应用程序的运行方法,包括:获取应用程序中待执行任务的执行时间设置信息;当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
可选的,所述获取应用程序中待执行任务的执行时间设置信息包括:通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息;或者根据系统消息获取所述待执行任务的执行时间设置信息。
可选的,所述当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务包括:根据所述执行时间设置信息,为每个所述待执行任务设置定时器;当所述定时器的定时时刻到达时,从所述待执行任务列表中调取对应的目标任务。
可选的,所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务包括:若所述目标任务为高优先级,则通过第一线程池中的线程执行所述目标任务;若所述目标任务为低优先级,则通过第二线程池中的线程执行所述目标任务;其中,所述第一线程池中的线程数量无上限限制,所述第二线程池中的线程数量小于预设上限阈值。
可选的,所述通过第一线程池中的线程执行所述目标任务包括:若所述第一线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;若所述第一线程池中不存在空闲线程,则在所述第一线程池中创建新线程,通过所述新线程执行所述目标任务。
可选的,所述通过第二线程池中的线程执行所述目标任务包括:若所述第二线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;若所述第二线程池中不存在空闲线程,则等待所述第二线程池中被释放的线程,通过所述被释放的线程执行所述目标任务。
可选的,所述从待执行任务列表中调取执行时刻到达的目标任务之后,所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务之前,包括:根据所述目标任务的优先级及系统状态,确定所述目标任务是否符合预先设置的执行条件;所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务包括:在符合所述执行条件的情况下,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务;在不符合所述执行条件的情况下,等待所述目标任务符合所述执行条件后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
第二方面,本发明的实施例还提供一种应用程序的运行装置,包括:获取单元,适于获取应用程序中待执行任务的执行时间设置信息;调取单元,适于当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;执行单元,适于根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
可选的,所述获取单元包括:第一获取模块,适于通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息;或者第二获取模块,适于根据系统消息获取所述待执行任务的执行时间设置信息。
可选的,所述调取单元包括:设置模块,适于根据所述执行时间设置信息,为每个所述待执行任务设置定时器;调取模块,适于当所述定时器的定时时刻到达时,从所述待执行任务列表中调取对应的目标任务。
可选的,所述执行单元包括:第一执行模块,适于若所述目标任务为高优先级,则通过第一线程池中的线程执行所述目标任务;第二执行模块,适于若所述目标任务为低优先级,则通过第二线程池中的线程执行所述目标任务;其中,所述第一线程池中的线程数量无上限限制,所述第二线程池中的线程数量小于预设上限阈值。
可选的,所述第一执行模块适于:若所述第一线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;若所述第一线程池中不存在空闲线程,则在所述第一线程池中创建新线程,通过所述新线程执行所述目标任务。
可选的,所述第二执行模块适于:若所述第二线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;若所述第二线程池中不存在空闲线程,则等待所述第二线程池中被释放的线程,通过所述被释放的线程执行所述目标任务。
可选的,所述装置还包括:确定单元,适于在从待执行任务列表中调取执行时刻到达的目标任务之后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务之前,根据所述目标任务的优先级及系统状态,确定所述目标任务是否符合预先设置的执行条件;所述执行单元,适于:在符合所述执行条件的情况下,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务;在不符合所述执行条件的情况下,等待所述目标任务符合所述执行条件后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种应用程序的运行方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种应用程序的运行方法。
本发明的实施例提供的应用程序的运行方法、装置、电子设备及存储介质,能够获取应用程序中待执行任务的执行时间设置信息,当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。这样,一方面能够对应用程序中的各待执行任务进行统一协调和管理,避免多项任务同时执行时对系统资源的过度消耗,另一方面也能够针对待执行任务划分不同的优先级,采用不同的线程调度策略来执行对应的目标任务,从而对待执行任务区分出轻重缓急,以保证待执行任务能够被有效执行,因此能够有效提高系统性能和用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的应用程序的运行方法的一种流程图;
图2为本发明的实施例提供的应用程序的运行方法的执行过程示意图;
图3为本发明的实施例提供的应用程序的运行方法的一种详细的流程图;
图4为本发明的实施例提供的应用程序的运行装置的一种结构示意图;
图5为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
第一方面,本发明的实施例提供一种应用程序的运行方法,能够有效提高系统性能和用户体验。
如图1所示,本发明的实施例提供的应用程序的运行方法可以包括:
S11,获取应用程序中待执行任务的执行时间设置信息;
本发明的实施例中,一个应用程序中可能会包括多项任务,例如杀毒软件中可能会包括电脑体检、木马查杀、优化加速、电脑清理等多项任务,为了保护电脑的安全,杀毒软件可能会在用户无感知的情况下执行上述一个任务或多个任务。
本步骤中,可以获取应用程序中的各待执行任务的执行时间设置信息,以便对待执行任务的执行时间进行总体规划配置,从而使各待执行任务的执行时间安排更合理,避免大量任务同时执行时对系统内存的过度消耗。
可选的,本步骤中的执行时间设置信息的具体设置方式可以多种多样,既可以为设置的具体执行时间,例如执行时间为8∶20,9:00等,也可以为设置的执行规则,例如间隔1小时执行1次,每天执行1次,每周执行1次,开机后执行1次等。
可选的,时间设置信息的具体形式不限,例如可以为文本形式、定时器设置参数形式等。
S12,当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;
本步骤中,应用程序中的各种待执行任务可以设置在待执行任务列表中。每当有待执行任务的执行时刻到达,就可以从该列表中将该待执行任务取出执行。当待执行任务列表清空时,表示所有待执行任务都已执行完毕。
可选的,在所有待执行任务中,有些待执行任务可能仅执行一次即可,而有些待执行任务可能需要反复执行多次。对于需要多次执行的待执行任务,每次从待执行任务表中取出该任务进行执行后,也可以在执行任务列表中继续保留该任务,直到后续不再执行该任务为止再将该任务删除。
可选的,待执行任务列表可以根据任务的优先级进一步划分。例如,在本发明的一个实施例中,待执行任务列表可以划分为低优先级栏和高优先级栏。其中,低优先级任务设置在低优先级栏中,高优先级任务设置在高优先级栏中。
可选的,任务的优先级不是一成不变的,可以根据需要进行灵活的调整。例如,当需要将一个高优先级任务A调整为低优先级时,只需要将A从高优先级栏调整到低优先级栏即可。
S13,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
可选的,目标任务可以来自待执行任务列表中的低优先级栏或者高优先级栏,其中,高优先级栏中的目标任务与低优先级栏中的目标任务具有不同的优先级,也对应着不同的线程调度策略和执行方案,这样就能够对应用程序中的各种待执行任务区分出轻重缓急,具有层次性地对各种待执行任务进行响应,从而有效避免了任务集中执行对系统资源造成冲击。
本发明的实施例提供的应用程序的运行方法,能够获取应用程序中待执行任务的执行时间设置信息,当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。这样,一方面能够对应用程序中的各待执行任务进行统一协调和管理,避免多项任务同时执行时对系统资源的过度消耗,另一方面也能够针对待执行任务划分不同的优先级,采用不同的线程调度策略来执行对应的目标任务,从而对待执行任务区分出轻重缓急,以保证待执行任务能够被有效执行,因此能够有效提高系统性能和用户体验。
可选的,根据待执行任务执行时间设置信息的来源的不同,步骤S11中获取执行时间设置信息的方式也有所不同。例如,在本发明的一个实施例中,步骤S11中获取应用程序中待执行任务的执行时间设置信息具体可以包括通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息。也即是说,本实施例中的执行时间设置信息是记录在配置文件中的,用户可以对配置文件中的执行时间进行设置和调整。配置文件发生更新后,或者应用程序启动时,应用程序可以读取该配置文件,以便及时获知配置文件中各待执行任务的执行时间设置信息。
可选的,在本发明的另一个实施例中,步骤S11中获取应用程序中待执行任务的执行时间设置信息具体可以包括根据系统消息获取所述待执行任务的执行时间设置信息。也即是说,本实施例中的执行时间设置信息是由系统根据系统运行状态生成的。操作系统可以根据整体运行环境设置应用程序中的各任务的执行时间。
获取到应用程序中各待执行任务的执行时间设置信息之后,就可以在步骤S12中对各待执行任务的执行时间进行监控,以便在对应的时间执行对应的任务。
具体而言,在本发明的一个实施例中,步骤S12中当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务可以包括:
根据所述执行时间设置信息,为每个所述待执行任务设置定时器;
当所述定时器的定时时刻到达时,从所述待执行任务列表中调取执行时刻到达的目标任务。
可选的,在本发明的一个实施例中,可以为每个待执行任务设置一个定时器,定时时刻到达后发出定时提醒事件,从而根据该定时提醒事件,从待执行任务列表中调取相应的目标任务。若该待执行任务是周期性任务,需要周期性提醒,则定时器在发出本次定时提醒事件之后,可以继续进入下一次定时。可选的,下一次定时的定时时长可以与本次定时的定时时长相同或不同。例如,本次定时器的定时时长为1小时,则下一次该定时器的定时时长既可以为1小时,也可以为其他时长,例如3小时等。本发明的实施例对此不做任何限定。若该待执行事件为一次性任务,例如在开机后只需要执行一次的任务,则该任务对应的定时器在发出定时提醒事件之后无需再次定时。
每个待执行任务的定时时刻到达时,应用程序都可以基于定时器发出的定时提醒事件去待执行任务列表中查找到对应的目标任务,并在步骤S13中,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
具体而言,在本发明的一个实施例中,若所述目标任务为高优先级,则可以通过第一线程池中的线程执行所述目标任务;若所述目标任务为低优先级,则可以通过第二线程池中的线程执行所述目标任务;其中,所述第一线程池中的线程数量无上限限制,所述第二线程池中的线程数量小于预设上限阈值。
本实施例中,将目标任务分为两个优先级,例如将需要紧急处理的任务确定为高优先级,将无需紧急处理的任务确定为低优先级。高优先级任务与低优先级任务分别使用不同线程池中的线程执行。其中,用于执行高优先级任务的第一线程池中可以设置多个线程,且具体的线程数量没有上限限制,因此可以根据任务的紧急程度确定开设的线程数;用于执行低优先级任务的第二线程池中也可以设置多个线程,但由于低优先级任务并不需要很快被执行,因此,在第二线程池的资源分配上进行了精简,要求第二线程池中的线程数量小于预设上限阈值,例如,在本发明的一个实施例中,第二线程池通常开设有2个线程,当低优先级任务增多时,可以将线程增加为3个至7个,最多不超过8个。
具体实施中,通过第一线程池中的线程执行目标任务可以包括:
若所述第一线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第一线程池中不存在空闲线程,则在所述第一线程池中创建新线程,通过所述新线程执行所述目标任务。
采用上述技术方案后,高优先级的目标任务可以被及时分配到空闲线程或新创的线程,从而立即执行。
可选的,具体实施中,通过第二线程池中的线程执行所述目标任务可以包括:
若所述第二线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第二线程池中不存在空闲线程,则等待所述第二线程池中被释放的线程,通过所述被释放的线程执行所述目标任务。
采用上述技术方案后,低优先级的目标任务可以视空闲线程的存在与否被立即执行或稍后执行,从而在不影响应用程序功能的情况下,为系统节省了宝贵的资源,在系统资源紧张的情况下,能够集中能力保证高优先级的任务顺利执行。
进一步的,发明人在研究中发现,一些应用程序中某些任务的执行可能会中断用户正在进行的操作,从而对用户形成打扰,降低了用户体验。为此,在本发明的一个实施例中,在步骤S12从待执行任务列表中调取执行时刻到达的目标任务之后,在步骤S13根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务之前,本发明的实施例提供的应用程序的运行方法还可以包括:根据所述目标任务的优先级及系统状态,确定所述目标任务是否符合预先设置的执行条件。可选的,系统状态可以包括系统的资源占用情况和/或系统中各应用程序的运行状态。
相应的,步骤S13中根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务具体可以包括:在符合所述执行条件的情况下,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务;在不符合所述执行条件的情况下,等待所述目标任务符合所述执行条件后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。示例性的,本发明的实施例提供的应用程序的运行方法的执行过程示意图可以如图2所示。
作为一具体示例,当系统状态显示系统资源占用率超过预设阈值,例如CPU占用率超过70%,高优先级的任务可以继续执行,以便对紧急事务进行快速响应,低优先级的任务可以暂缓执行,以免进一步消耗系统资源,使系统运行速度更慢,降低用户体验。
作为另一具体示例,当系统状态显示有视频播放应用程序正在进行全屏播放,高优先级的任务可以继续执行,以便对紧急事务进行快速响应,低优先级的任务可以暂缓执行,以免打扰用户观看视频。
上述实施例中,待执行任务可以分为高优先级任务和低优先级任务,但本发明的实施例不限于此,在本发明的其他实施例中,优先级可以分为更多的等级,每个等级的任务对应不同的线程调度策略。
下面通过具体实施例对本发明的实施例提供的应用程序的运行方法进行详细说明。
如图3所示,本实施例提供的应用程序的运行方法可以包括:
S201、配置文件更新,应用程序B加载该配置文件;
S202、通过配置文件获取待执行任务的执行时间设置信息;
例如,设置了任务:
task1:每间隔1小时,提醒用户休息5分钟;
task2:午休时间查杀病毒;
S203、根据待执行任务的执行时间设置信息,设置相应的定时器timer1和timer2;
S204、定时器timer1一个小时后到达定时时刻,应用程序B根据timer1发出的定时提醒事件到待执行任务列表中调取task1;
可选的,定时器timer1发出的定时提醒事件中可以携带task1的标识,并根据该标识从待执行任务列表中调取task1。
可选的,task1为周期性任务,因此本次任务调取后,task1仍然可以保留在待执行任务列表中。
S205、确定task1为高优先级任务,查看第一线程池中没有空闲线程;
S206、在第一线程池中新开一个线程,执行task1,提醒用户休息5分钟;
S207、午休时间定时器timer2发出定时提醒事件,到待执行任务列表中调取task2;
可选的,task2为一次性任务,因此本次任务调取后,task2可以从在待执行任务列表中删除。
S208、确定task2为低优先级任务,查看第二线程池中没有空闲线程;
S209、等待第二线程池中的线程被释放后,利用该释放的线程执行task2,进行病毒查杀。
第二方面,本发明的实施例还提供一种应用程序的运行装置,能够有效提高系统性能和用户体验。
如图4所示,本发明的实施例提供的应用程序的运行装置可以包括:
获取单元31,适于获取应用程序中待执行任务的执行时间设置信息;
调取单元32,适于当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;
执行单元33,适于根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
本发明的实施例提供的应用程序的运行装置,能够获取应用程序中待执行任务的执行时间设置信息,当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。这样,一方面能够对应用程序中的各待执行任务进行统一协调和管理,避免多项任务同时执行时对系统资源的过度消耗,另一方面也能够针对待执行任务划分不同的优先级,采用不同的线程调度策略来执行对应的目标任务,从而对待执行任务区分出轻重缓急,以保证待执行任务能够被有效执行,因此能够有效提高系统性能和用户体验。
可选的,获取单元31可以包括:
第一获取模块,适于通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息;
或者
第二获取模块,适于根据系统消息获取所述待执行任务的执行时间设置信息。
可选的,调取单元32可以包括:
设置模块,适于根据所述执行时间设置信息,为每个所述待执行任务设置定时器;
调取模块,适于当所述定时器的定时时刻到达时,从所述待执行任务列表中调取对应的目标任务。
可选的,执行单元33可以包括:
第一执行模块,适于若所述目标任务为高优先级,则通过第一线程池中的线程执行所述目标任务;
第二执行模块,适于若所述目标任务为低优先级,则通过第二线程池中的线程执行所述目标任务;
其中,所述第一线程池中的线程数量无上限限制,所述第二线程池中的线程数量小于预设上限阈值。
可选的,所述第一执行模块适于:
若所述第一线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第一线程池中不存在空闲线程,则在所述第一线程池中创建新线程,通过所述新线程执行所述目标任务。
可选的,所述第二执行模块适于:
若所述第二线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第二线程池中不存在空闲线程,则等待所述第二线程池中被释放的线程,通过所述被释放的线程执行所述目标任务。
可选的,所述应用程序的运行装置还可以包括:
确定单元,适于在从待执行任务列表中调取执行时刻到达的目标任务之后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务之前,根据所述目标任务的优先级及系统状态,确定所述目标任务是否符合预先设置的执行条件;
执行单元33,适于:
在符合所述执行条件的情况下,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务;
在不符合所述执行条件的情况下,等待所述目标任务符合所述执行条件后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
第三方面,本发明实施例提供一种电子设备,能够有效提高系统性能和用户体验。
如图5所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的应用程序的运行方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
相应的,第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种应用程序的运行方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种应用程序的运行方法,其特征在于,包括:
获取应用程序中待执行任务的执行时间设置信息;
当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;
根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序中待执行任务的执行时间设置信息包括:
通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息;
或者
根据系统消息获取所述待执行任务的执行时间设置信息。
3.根据权利要求1所述的方法,其特征在于,所述当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务包括:
根据所述执行时间设置信息,为每个所述待执行任务设置定时器;
当所述定时器的定时时刻到达时,从所述待执行任务列表中调取对应的目标任务。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务包括:
若所述目标任务为高优先级,则通过第一线程池中的线程执行所述目标任务;
若所述目标任务为低优先级,则通过第二线程池中的线程执行所述目标任务;
其中,所述第一线程池中的线程数量无上限限制,所述第二线程池中的线程数量小于预设上限阈值。
5.根据权利要求4所述的方法,其特征在于,所述通过第一线程池中的线程执行所述目标任务包括:
若所述第一线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第一线程池中不存在空闲线程,则在所述第一线程池中创建新线程,通过所述新线程执行所述目标任务。
6.根据权利要求4所述的方法,其特征在于,所述通过第二线程池中的线程执行所述目标任务包括:
若所述第二线程池中存在空闲线程,则通过所述空闲线程执行所述目标任务;
若所述第二线程池中不存在空闲线程,则等待所述第二线程池中被释放的线程,通过所述被释放的线程执行所述目标任务。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述从待执行任务列表中调取执行时刻到达的目标任务之后,所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务之前,包括:
根据所述目标任务的优先级及系统状态,确定所述目标任务是否符合预先设置的执行条件;
所述根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务包括:
在符合所述执行条件的情况下,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务;
在不符合所述执行条件的情况下,等待所述目标任务符合所述执行条件后,根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
8.一种应用程序的运行装置,其特征在于,包括:
获取单元,适于获取应用程序中待执行任务的执行时间设置信息;
调取单元,适于当所述执行时间设置信息中的执行时刻到达时,从待执行任务列表中调取执行时刻到达的目标任务;
执行单元,适于根据所述目标任务的优先级的不同,使用不同的线程调度策略执行所述目标任务。
9.根据权利要求8所述的装置,其特征在于,所述获取单元包括:
第一获取模块,适于通过加载预先设置的配置文件获取所述待执行任务的执行时间设置信息;
或者
第二获取模块,适于根据系统消息获取所述待执行任务的执行时间设置信息。
10.根据权利要求8所述的装置,其特征在于,所述调取单元包括:
设置模块,适于根据所述执行时间设置信息,为每个所述待执行任务设置定时器;
调取模块,适于当所述定时器的定时时刻到达时,从所述待执行任务列表中调取对应的目标任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010608760.6A CN111782295B (zh) | 2020-06-29 | 2020-06-29 | 一种应用程序的运行方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010608760.6A CN111782295B (zh) | 2020-06-29 | 2020-06-29 | 一种应用程序的运行方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782295A true CN111782295A (zh) | 2020-10-16 |
CN111782295B CN111782295B (zh) | 2023-08-29 |
Family
ID=72761180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010608760.6A Active CN111782295B (zh) | 2020-06-29 | 2020-06-29 | 一种应用程序的运行方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782295B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
CN112446697A (zh) * | 2020-11-12 | 2021-03-05 | 深圳海付移通科技有限公司 | 对账方法、装置、计算机设备和存储介质 |
CN112541701A (zh) * | 2020-12-22 | 2021-03-23 | 珠海格力智能装备有限公司 | 基于调度系统的调度方法及装置 |
CN114463131A (zh) * | 2022-02-09 | 2022-05-10 | 吉林亿联银行股份有限公司 | 交易处理方法及装置、存储介质及电子设备 |
CN117524029A (zh) * | 2024-01-05 | 2024-02-06 | 武汉精立电子技术有限公司 | 一种测试信号生成系统和面板检测设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010042090A1 (en) * | 1998-05-28 | 2001-11-15 | Roy H. Williams | Thread based governor for time scheduled process application |
US20070300230A1 (en) * | 2006-06-22 | 2007-12-27 | Barsness Eric L | Thread priority based on object creation rates |
US20100153957A1 (en) * | 2008-12-16 | 2010-06-17 | Sensormatic Electronics Corporation | System and method for managing thread use in a thread pool |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN103942104A (zh) * | 2014-04-23 | 2014-07-23 | 北京金山网络科技有限公司 | 一种任务管理方法及装置 |
CN106020954A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市永兴元科技有限公司 | 线程管理方法及装置 |
CN107391243A (zh) * | 2017-06-30 | 2017-11-24 | 广东神马搜索科技有限公司 | 线程任务处理设备、装置及方法 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
US20190179667A1 (en) * | 2017-12-11 | 2019-06-13 | Afiniti, Ltd. | Techniques for behavioral pairing in a task assignment system |
CN110046038A (zh) * | 2019-03-12 | 2019-07-23 | 平安普惠企业管理有限公司 | 一种基于线程池的任务处理方法及装置 |
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
CN110673940A (zh) * | 2019-09-27 | 2020-01-10 | 杭州迪普科技股份有限公司 | 应用程序的任务执行方法及装置、电子设备、存储介质 |
CN111061556A (zh) * | 2019-12-26 | 2020-04-24 | 深圳前海环融联易信息科技服务有限公司 | 执行优先级任务的优化方法、装置、计算机设备及介质 |
-
2020
- 2020-06-29 CN CN202010608760.6A patent/CN111782295B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010042090A1 (en) * | 1998-05-28 | 2001-11-15 | Roy H. Williams | Thread based governor for time scheduled process application |
US20070300230A1 (en) * | 2006-06-22 | 2007-12-27 | Barsness Eric L | Thread priority based on object creation rates |
US20100153957A1 (en) * | 2008-12-16 | 2010-06-17 | Sensormatic Electronics Corporation | System and method for managing thread use in a thread pool |
CN102541653A (zh) * | 2010-12-24 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种多任务线程池调度方法和系统 |
CN103942104A (zh) * | 2014-04-23 | 2014-07-23 | 北京金山网络科技有限公司 | 一种任务管理方法及装置 |
CN106020954A (zh) * | 2016-05-13 | 2016-10-12 | 深圳市永兴元科技有限公司 | 线程管理方法及装置 |
CN107391243A (zh) * | 2017-06-30 | 2017-11-24 | 广东神马搜索科技有限公司 | 线程任务处理设备、装置及方法 |
CN107463439A (zh) * | 2017-08-21 | 2017-12-12 | 山东浪潮通软信息科技有限公司 | 一种线程池实现方法及装置 |
US20190179667A1 (en) * | 2017-12-11 | 2019-06-13 | Afiniti, Ltd. | Techniques for behavioral pairing in a task assignment system |
CN110046038A (zh) * | 2019-03-12 | 2019-07-23 | 平安普惠企业管理有限公司 | 一种基于线程池的任务处理方法及装置 |
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
CN110673940A (zh) * | 2019-09-27 | 2020-01-10 | 杭州迪普科技股份有限公司 | 应用程序的任务执行方法及装置、电子设备、存储介质 |
CN111061556A (zh) * | 2019-12-26 | 2020-04-24 | 深圳前海环融联易信息科技服务有限公司 | 执行优先级任务的优化方法、装置、计算机设备及介质 |
Non-Patent Citations (3)
Title |
---|
李颖;孙晓良;: "遥感卫星应用系统的一种多任务并行调度方法", 航天器工程, no. 04, pages 103 - 108 * |
黄飞龙: "分布式计算中多队列线程池的设计与实现", 《科协论坛(下半月)》 * |
黄飞龙: "分布式计算中多队列线程池的设计与实现", 《科协论坛(下半月)》, no. 04, 25 April 2013 (2013-04-25), pages 101 - 104 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
CN112446697A (zh) * | 2020-11-12 | 2021-03-05 | 深圳海付移通科技有限公司 | 对账方法、装置、计算机设备和存储介质 |
CN112446697B (zh) * | 2020-11-12 | 2024-05-28 | 深圳海付移通科技有限公司 | 对账方法、装置、计算机设备和存储介质 |
CN112541701A (zh) * | 2020-12-22 | 2021-03-23 | 珠海格力智能装备有限公司 | 基于调度系统的调度方法及装置 |
CN114463131A (zh) * | 2022-02-09 | 2022-05-10 | 吉林亿联银行股份有限公司 | 交易处理方法及装置、存储介质及电子设备 |
CN117524029A (zh) * | 2024-01-05 | 2024-02-06 | 武汉精立电子技术有限公司 | 一种测试信号生成系统和面板检测设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111782295B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782295B (zh) | 一种应用程序的运行方法、装置、电子设备及存储介质 | |
US10310581B2 (en) | Enhanced security and resource utilization in a multi-operating system environment | |
CN107851050B (zh) | 具有看门狗定时器的装置及用于操作看门狗定时器的方法 | |
CN107491346B (zh) | 一种应用的任务处理方法、装置及系统 | |
US20200174823A1 (en) | State management method and apparatus for virtual machine, and smart terminal thereof | |
CN105468409A (zh) | 一种应用程序关闭方法、装置及电子设备 | |
CN105446776A (zh) | 一种应用程序关闭方法、装置及电子设备 | |
JP2011198346A (ja) | スケジューリング方法,スケジューリングプログラム,スケジューリング装置 | |
EP4404539A1 (en) | Resource scheduling method, apparatus and system, device, medium, and program product | |
CN111782293A (zh) | 一种任务处理方法、装置、电子设备及可读存储介质 | |
CN105988841A (zh) | 一种应用程序的更新方法及移动终端 | |
CN110633148A (zh) | 一种系统运行的优化方法、装置、电子设备及存储介质 | |
CN113495787A (zh) | 资源分配方法、装置、存储介质及电子设备 | |
US9436505B2 (en) | Power management for host with devices assigned to virtual machines | |
CN111063350A (zh) | 基于任务栈的语音交互状态机及其实现方法 | |
CN107450951B (zh) | 应用程序处理方法、装置、存储介质和终端 | |
CN111782294A (zh) | 一种应用程序的运行方法、装置、电子设备及存储介质 | |
CN111880910A (zh) | 数据处理方法及装置、服务器及存储介质 | |
CN103559080A (zh) | 移动设备上的后台应用代码的受约束执行 | |
CN111782362B (zh) | 一种消息任务调度方法、装置及电子设备 | |
CN106855824B (zh) | 一种任务停止方法、装置及电子设备 | |
CN112131029B (zh) | 广播处理方法、装置、计算机设备及存储介质 | |
CN109542521B (zh) | 电视开机速度优化的方法 | |
CN109460291B (zh) | 电子装置、弹性控制服务器集群的方法及存储介质 | |
CN111857865A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |