CN115794351A - 一种任务执行方法、装置、终端设备及存储介质 - Google Patents
一种任务执行方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN115794351A CN115794351A CN202211651181.5A CN202211651181A CN115794351A CN 115794351 A CN115794351 A CN 115794351A CN 202211651181 A CN202211651181 A CN 202211651181A CN 115794351 A CN115794351 A CN 115794351A
- Authority
- CN
- China
- Prior art keywords
- software timer
- timer
- target software
- state
- timing
- 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
Images
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本申请适用于计算机技术领域,提供了一种任务执行方法、装置、终端设备及存储介质,所述方法包括:当检测到中断信号时,确定硬件定时器的计数步长;根据计数步长检测软件定时器数组中每个软件定时器的状态;若检测到目标软件定时器的状态为定时完成状态,则执行目标软件定时器对应的预设任务;定时完成状态指已到达目标软件定时器对应的预设任务的执行时间,目标软件定时器是软件定时器数组中的任意一个软件定时器。本申请提供的任务执行方法是通过软件定时器数组来实现不同的定时任务,无需使用大量的硬件定时器,从而减少了程序的复杂度,同时使用软件定时器无需过多增加中断类型,提高了系统性能。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种任务执行方法、装置、终端设备及存储介质。
背景技术
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。在程序设计过程中,经常需要用到定时器来完成不同的定时任务。
现有技术中,常用的定时器通常为硬件定时器,硬件定时器通过中断方式实现定时任务。然而,硬件定时器使用限制较多,如存在大量的定时要求时,则需要大量的硬件定时器,每个硬件定时器都需要引入定时标志,增加了程序复杂度。同时,每个硬件定时器使用时都需要使用中断,因此硬件定时器较多说明中断也多,即增加了中断类型,从而增加了中断执行时间,降低了系统性能。
发明内容
本申请实施例提供了一种任务执行方法、装置、终端设备及存储介质,可以解决现有技术存在的需要使用大量的硬件定时器,不仅增加了程序复杂度,也增加了中断类型,从而降低了系统性能的问题。
第一方面,本申请实施例提供了一种任务执行方法,包括:
当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数;
根据所述计数步长检测软件定时器数组中每个软件定时器的状态;
若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
可选的,所述根据所述计数步长检测软件定时器数组中每个软件定时器的状态,包括:
分别检测每个软件定时器的定时步长与所述计数步长是否相等;
若所述目标软件定时器的定时步长与所述计数步长相等,则确定所述目标软件定时器的状态为所述定时完成状态。
可选的,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
检测所述预设任务是否需要循环执行;
若所述预设任务需要循环执行,则对所述预设任务的循环次数执行减一操作。
可选的,在所述根据所述计数步长检测软件定时器数组中每个软件定时器的状态之后,还包括:
若检测到所述目标软件定时器的状态为非定时完成状态,则返回执行所述当检测到中断信号时,确定硬件定时器的计数步长的步骤以及后续步骤。
可选的,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
若所述预设任务需要循环执行,则将所述目标软件定时器设置为开启状态,以使所述预设任务在所述目标软件定时器的下一次的状态为所述定时完成状态时,继续被执行;
若所述预设任务为非循环执行,则将所述目标软件定时器设置为关闭状态。
可选的,在所述确定硬件定时器的计数步长之前,还包括:
对所述软件定时器数组中每个软件定时器的定时步长执行初始化操作。
可选的,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
对所述硬件定时器的计数步长执行清零操作;
应用所述硬件定时器重新开始计数,直至接收到下一个中断信号为止。
第二方面,本申请实施例提供了一种任务执行装置,包括:
第一确定单元,用于当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数;
第一检测单元,用于根据所述计数步长检测软件定时器数组中每个软件定时器的状态;
第一执行单元,用于若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,上述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的任务执行方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的任务执行方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备可执行上述第一方面中任一项所述的任务执行方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例提供的一种任务执行方法,通过在检测到中断信号时,确定硬件定时器的计数步长;根据计数步长检测软件定时器数组中每个软件定时器的状态;若检测到目标软件定时器的状态为定时完成状态,则执行目标软件定时器对应的预设任务;定时完成状态指已到达目标软件定时器对应的预设任务的执行时间,目标软件定时器是软件定时器数组中的任意一个软件定时器。本申请提供的任务执行方法是通过软件定时器数组来实现不同的定时任务,无需使用大量的硬件定时器,从而减少了程序的复杂度,同时使用软件定时器无需过多增加中断类型,提高了系统性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的任务执行方法的实现流程图;
图2是本申请另一实施例提供的任务执行方法的实现流程图;
图3是本申请再一实施例提供的任务执行方法的实现流程图;
图4是本申请又一实施例提供的任务执行方法的实现流程图;
图5是本申请又一实施例提供的任务执行方法的实现流程图;
图6是本申请一实施例提供的任务执行装置的结构示意图;
图7是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1是本申请一实施例提供的一种任务执行方法的实现流程图。本申请实施例中,该任务执行方法的执行主体为终端设备。
如图1所示,本申请一实施例提供的任务执行方法可以包括S101~S103,详述如下:
在S101中,当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数。
本申请实施例中,终端设备可以基于预设时间间隔向自身发送一个中断信号,以检测此时是否有定时任务需要完成。其中,预设时间间隔可以根据实际需要设置,此处不作限制。
在实际应用中,中断指当出现需要时,中央处理器(Central Processing Unit/Processor,CPU)暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
在一些可能的实施例中,为了避免某些定时时间较短的定时任务无法被执行,终端设备可以设置预设时间间隔小于或等于最短定时时间。其中,定时时间用于表征某个定时任务在被执行前的最短等待时长。
示例性的,假设某一定时任务的定时时间最短,且该定时任务对应的最短定时时间为100ms,则预设时间间隔可以设置为50ms。
在实际应用中,硬件定时器的精度要高于软件定时器,因此,本申请实施例中,为了保证定时任务可以精准被执行,终端设备可以在检测到中断信号时,确定硬件定时器的计数步长。其中,计数步长用于描述从硬件定时器计数开始时刻至检测到中断信号的时刻在预设维度上的计数。
需要说明的是,预设维度可以根据实际需要进行确定,此处不作限制,示例性的,预设维度可以是时间维度,也可以是频率维度,还可以是脉冲维度。
在S102中,根据所述计数步长检测软件定时器数组中每个软件定时器的状态。
本申请实施例中,终端设备在确定硬件定时器的计数步长后,可以检测软件定时器数组中每个软件定时器的状态,即检测每个软件定时器的定时时间是否已到达,也即检测每个软件定时器对应的预设任务的执行时间是否已到达。其中,预设任务可以根据实际需要设置,此处不作限制。
需要说明的是,预设任务即为上述各种定时任务。
本申请实施例中,软件定时器的状态包括但不限于定时完成状态和非定时完成状态。
其中,定时完成状态指已到达软件定时器对应的预设任务的执行时间,非定时完成状态指未到达软件定时器对应的预设任务的执行时间。
在本申请的一个实施例中,由于计数步长用于描述从硬件定时器计数开始时刻至检测到中断信号的时刻在预设维度上的计数,即计数步长与时间存在对应关系,因此,终端设备可以确定该计数步长对应的计数时间。
本实施例中,每个软件定时器都有其各自对应的定时时间,因此,终端设备可以根据上述确定的计数时间和每个软件定时器的定时时间,检测每个软件定时器的状态。
具体地,终端设备可以分别检测每个软件定时器的定时时间与计数时间是否相等,并在检测到目标软件定时器的定时时间与计数时间相等时,说明目标软件定时器的定时时间已到达,也即目标软件定时器对应的预设任务的执行时间已到达,因此,终端设备可以确定目标软件定时器的状态为定时完成状态。其中,目标软件定时器可以是软件定时器数组中的任意一个软件定时器。
本实施例中,终端设备在检测到目标软件定时器的定时时间与计数时间不相等时,说明目标软件定时器的定时时间未到达,也即目标软件定时器对应的预设任务的执行时间未到达,因此,终端设备可以确定目标软件定时器的状态为非定时完成状态。
在本申请的另一个实施例中,由于每个软件定时器都有其各自对应的定时步长,该定时步长用于描述每个软件定时器在预设维度上的定时计数。基于此,终端设备具体可以通过如图2所示的S201~S202检测每个软件定时器的状态,详述如下:
在S201中,分别检测每个软件定时器的定时步长与所述计数步长是否相等。
本实施例中,由于每个软件的定时步长和硬件定时器的计数步长均为在预设维度上的计数,因此,终端设备可以直接将每个软件定时器的定时步长与计数步长进行比较,以检测每个软件定时器的定时步长与计数步长是否相等。
在本申请的一个实施例中,终端设备在检测到目标软件定时器的定时步长与计数步长相等时,可以执行步骤S202。其中,目标软件定时器可以是软件定时器数组中的任意一个软件定时器。
在本申请的另一个实施例中,终端设备在检测到目标软件定时器的定时步长与计数步长不相等时,说明目标软件定时器的定时时间未到达,也即目标软件定时器对应的预设任务的执行时间未到达,因此,终端设备可以确定目标软件定时器的状态为非定时完成状态。
在S202中,若所述目标软件定时器的定时步长与所述计数步长相等,则确定所述目标软件定时器的状态为所述定时完成状态。
本实施例中,终端设备在检测到目标软件定时器的定时步长与计数步长相等时,说明目标软件定时器的定时时间已到达,也即目标软件定时器对应的预设任务的执行时间已到达,因此,终端设备可以确定目标软件定时器的状态为定时完成状态。
本申请实施例中,终端设备在检测到目标软件定时器的状态为定时完成状态后,可以执行步骤S103。
在本申请的一个实施例中,终端设备在检测到目标软件定时器的状态为非定时完成状态时,说明未到达目标软件定时器对应的预设任务的执行时间,因此,终端设备在后续时间可以继续检测是否接收到中断信号,并在检测到中断信号时,继续执行步骤S101~S103,避免目标软件定时器对应的预设任务被错过,提高每个软件定时器对应的预设任务的完成率。
在S103中,若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
本申请实施例中,终端设备在检测到目标软件定时器的状态为定时完成状态时,说明已到达目标软件定时器对应的预设任务的执行时间,因此,终端设备可以执行目标软件定时器对应的预设任务。
以上可以看出,本申请实施例提供的一种任务执行方法,通过在检测到中断信号时,确定硬件定时器的计数步长;根据计数步长检测软件定时器数组中每个软件定时器的状态;若检测到目标软件定时器的状态为定时完成状态,则执行目标软件定时器对应的预设任务;定时完成状态指已到达目标软件定时器对应的预设任务的执行时间,目标软件定时器是软件定时器数组中的任意一个软件定时器。本申请提供的任务执行方法是通过软件定时器数组来执行不同的定时任务,无需使用大量的硬件定时器,从而减少了程序的复杂度,同时使用软件定时器无需过多增加中断类型,提高了系统性能。
请参阅图3,图3是本申请另一实施例提供的任务执行方法。相对于图1对应的实施例,本实施例在S103之后,还可以包括S301~S302,详述如下:
在S301中,检测所述预设任务是否需要循环执行。
本实施例中,每个软件定时器均携带有任务标识。其中,任务标识用于表征每个软件定时器对应的预设任务是否需要循环执行。
在一些可能的实施例中,任务标识可以用单词“ON”和“OFF”表示。其中,单词“ON”用于表征软件定时器对应的预设任务需要循环执行,单词“OFF”用于表征软件定时器对应的预设任务为非循环执行,即只需执行一次。
基于此,本实施例中,终端设备可以通过检测目标软件定时器携带的任务标识确定目标软件定时器对应的预设任务是否需要循环执行。
具体地,终端设备在检测到目标软件定时器携带的任务标识为单词“ON”,可以确定目标软件定时器对应的预设任务需要循环执行;终端设备在检测到目标软件定时器携带的任务标识为单词“OFF”,可以确定目标软件定时器对应的预设任务为非循环执行。
在S302中,若所述预设任务需要循环执行,则对所述预设任务的循环次数执行减一操作。
本实施例中,终端设备在检测到目标软件定时器对应的预设任务需要循环执行时,由于该预设任务已经被执行过一次,因此,为了提高预设任务的执行完成率,终端设备可以对该预设任务的循环次数执行减一操作。
以上可以看出,本实施例提供的任务执行方法,在执行目标软件定时器对应的预设任务后,需要检测该预设任务是否需要循环执行;并在检测到该预设任务需要循环执行时,对该预设任务的循环次数执行减一操作,避免该预设任务一直被循环执行,不仅提高了该预设任务的完成率,也避免了对其他任务的干扰,还减少了系统能耗。
在本申请的一个实施例中,为了提高目标软件定时器对应的预设任务的执行完成率,终端设备需要检测该预设任务是否需要循环执行,并根据该预设任务是否需要循环执行确定后续操作,因此,请参阅图4,图4是本申请再一实施例提供的任务执行方法。相对于图1对应的实施例,本实施例在S103之后,还可以包括S401~S402,详述如下:
在S401中,若所述预设任务需要循环执行,则将所述目标软件定时器设置为开启状态,以使所述预设任务在所述目标软件定时器的下一次的状态为所述定时完成状态时,继续被执行。
本实施例中,终端设备在检测到目标软件定时器对应的预设任务需要循环执行时,可以将目标软件定时器设置为开启状态,即控制目标软件定时器保持开启,以使该预设任务在目标软件定时器的下一次的状态为定时完成状态时,可以继续被执行。
在S402中,若所述预设任务为非循环执行,则将所述目标软件定时器设置为关闭状态。
本实施例中,终端设备在检测到目标软件定时器对应的预设任务为非循环执行时,可以将目标软件定时器设置为关闭状态,即控制目标软件定时器关闭,以减少系统能耗。
以上可以看出,本实施例提供的任务执行方法,在执行目标软件定时器对应的预设任务之后,需要检测该预设任务是否需要循环执行,若该预设任务需要循环执行,则将目标软件定时器设置为开启状态,以使预设任务在目标软件定时器的下一次的状态为定时完成状态时,可以继续被执行;若预设任务为非循环执行,则将目标软件定时器设置为关闭状态。本实施例提供的方法可以根据预设任务是否需要循环执行以灵活控制目标软件定时器的开启和关闭,不仅提高了预设任务的完成率,也减少了系统能耗。
请参阅图5,图5是本申请又一实施例提供的任务执行方法。相对于图1对应的实施例,本实施例在S103之后,还可以包括S501~S502,详述如下:
在S501中,对所述硬件定时器的计数步长执行清零操作。
在S502中,应用所述硬件定时器重新开始计数,直至接收到下一个中断信号为止。
本实施例中,终端设备在执行目标软件定时器对应的预设任务后,可以对硬件定时器的计数步长执行清零操作,即将硬件定时器的计数步长置零,并应用该硬件定时器在执行清零操作的同时,重新开始计数,即对硬件定时器的计数步长从零开始计数,直至接收到下一个中断信号为止。
以上可以看出,本实施例提供的任务执行方法,在执行目标软件定时器对应的预设任务后,需要对硬件定时器的计数步长执行清零操作;应用硬件定时器重新开始计数,直至接收到下一个中断信号为止,从而保证硬件定时器的计数步长的准确率,进而保证每个软件定时器对应的预设任务可以精准被执行。
在本申请的再一个实施例中,为了进一步保证每个软件定时器对应的预设任务可以被精准执行,终端设备在确定硬件定时器的计数步长之前,需要对软件定时器数组中每个软件定时器的定时步长执行初始化操作,即将每个软件定时器的定时步长设置为初始步长。其中,每个软件定时器的初始步长可以根据实际需要设置,此处不作限制。
在本申请的又一个实施例中,终端设备在执行目标软件定时器对应的预设任务之后,可以对软件定时器数组中处于关闭状态的软件定时器进行删除,同时可以增加新的软件定时器,以完成新的预设任务。
本实施例提供的方法,终端设备可以灵活删除和增加软件定时器数组中软件定时器的个数,即可以灵活扩展和减少预设任务,从而提高了终端设备的工作效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种任务执行方法,图6示出了本申请实施例提供的一种任务执行装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。参照图6,该任务执行装置600包括:第一确定单元61、第一检测单元62及第一执行单元63。其中:
第一确定单元61用于当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数。
第一检测单元62用于根据所述计数步长检测软件定时器数组中每个软件定时器的状态。
第一执行单元63用于若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
在本申请的一个实施例中,第一检测单元62具体包括:第二检测单元和第二确定单元。其中:
第二检测单元用于分别检测每个软件定时器的定时步长与所述计数步长是否相等。
第二确定单元用于若所述目标软件定时器的定时步长与所述计数步长相等,则确定所述目标软件定时器的状态为所述定时完成状态。
在本申请的一个实施例中,任务执行装置600还包括:第三检测单元和第二执行单元。其中:
第三检测单元用于检测所述预设任务是否需要循环执行。
第二执行单元用于若所述预设任务需要循环执行,则对所述预设任务的循环次数执行减一操作。
在本申请的一个实施例中,任务执行装置600还包括:第三执行单元。
第三执行单元用于若检测到所述目标软件定时器的状态为非定时完成状态,则返回执行所述当检测到中断信号时,确定硬件定时器的计数步长的步骤以及后续步骤。
在本申请的一个实施例中,任务执行装置600还包括:第一设置单元和第二设置单元。其中:
第一设置单元用于若所述预设任务需要循环执行,则将所述目标软件定时器设置为开启状态,以使所述预设任务在所述目标软件定时器的下一次的状态为所述定时完成状态时,继续被执行。
第二设置单元用于若所述预设任务为非循环执行,则将所述目标软件定时器设置为关闭状态。
在本申请的一个实施例中,任务执行装置600还包括:第四执行单元。
第四执行单元用于对所述软件定时器数组中每个软件定时器的定时步长执行初始化操作。
在本申请的一个实施例中,任务执行装置600还包括:第五执行单元和计数单元。其中:
第五执行单元用于对所述硬件定时器的计数步长执行清零操作。
计数单元用于应用所述硬件定时器重新开始计数,直至接收到下一个中断信号为止。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个任务执行方法实施例中的步骤。
该终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种任务执行方法,其特征在于,包括:
当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数;
根据所述计数步长检测软件定时器数组中每个软件定时器的状态;
若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
2.如权利要求1所述的任务执行方法,其特征在于,所述根据所述计数步长检测软件定时器数组中每个软件定时器的状态,包括:
分别检测每个软件定时器的定时步长与所述计数步长是否相等;
若所述目标软件定时器的定时步长与所述计数步长相等,则确定所述目标软件定时器的状态为所述定时完成状态。
3.如权利要求1所述的任务执行方法,其特征在于,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
检测所述预设任务是否需要循环执行;
若所述预设任务需要循环执行,则对所述预设任务的循环次数执行减一操作。
4.如权利要求1所述的任务执行方法,其特征在于,在所述根据所述计数步长检测软件定时器数组中每个软件定时器的状态之后,还包括:
若检测到所述目标软件定时器的状态为非定时完成状态,则返回执行所述当检测到中断信号时,确定硬件定时器的计数步长的步骤以及后续步骤。
5.如权利要求1所述的任务执行方法,其特征在于,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
若所述预设任务需要循环执行,则将所述目标软件定时器设置为开启状态,以使所述预设任务在所述目标软件定时器的下一次的状态为所述定时完成状态时,继续被执行;
若所述预设任务为非循环执行,则将所述目标软件定时器设置为关闭状态。
6.如权利要求1所述的任务执行方法,其特征在于,在所述确定硬件定时器的计数步长之前,还包括:
对所述软件定时器数组中每个软件定时器的定时步长执行初始化操作。
7.如权利要求1-6所述的任务执行方法,其特征在于,在所述执行所述目标软件定时器对应的预设任务之后,还包括:
对所述硬件定时器的计数步长执行清零操作;
应用所述硬件定时器重新开始计数,直至接收到下一个中断信号为止。
8.一种任务执行装置,其特征在于,包括:
第一确定单元,用于当检测到中断信号时,确定硬件定时器的计数步长;所述计数步长用于描述从所述硬件定时器计数开始时刻至检测到所述中断信号的时刻在预设维度上的计数;
第一检测单元,用于根据所述计数步长检测软件定时器数组中每个软件定时器的状态;
第一执行单元,用于若检测到目标软件定时器的状态为定时完成状态,则执行所述目标软件定时器对应的预设任务;所述定时完成状态指已到达所述目标软件定时器对应的预设任务的执行时间,所述目标软件定时器是所述软件定时器数组中的任意一个软件定时器。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的任务执行方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的任务执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211651181.5A CN115794351A (zh) | 2022-12-21 | 2022-12-21 | 一种任务执行方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211651181.5A CN115794351A (zh) | 2022-12-21 | 2022-12-21 | 一种任务执行方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794351A true CN115794351A (zh) | 2023-03-14 |
Family
ID=85427624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211651181.5A Pending CN115794351A (zh) | 2022-12-21 | 2022-12-21 | 一种任务执行方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794351A (zh) |
-
2022
- 2022-12-21 CN CN202211651181.5A patent/CN115794351A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1098487C (zh) | 用于影响数据处理器中的顺序指令处理的方法和装置 | |
US11422827B2 (en) | Method, device, apparatus for identifying graphics card of GPU server and medium | |
CN109766282B (zh) | 一种卡顿检测方法、卡顿检测装置及终端设备 | |
EP1943580A2 (en) | Data processing arrangement comprising a reset facility | |
US4652997A (en) | Method and apparatus for minimizing overhead when executing nested do loops | |
CN115328690B (zh) | 异常处理方法、计算机可读介质及电子设备 | |
WO2005099334A2 (en) | Event handling mechanism | |
CN109782841B (zh) | 基于rtc芯片的实时时钟的实现方法、终端设备及存储介质 | |
US9990317B2 (en) | Full-mask partial-bit-field (FM-PBF) technique for latency sensitive masked-write | |
CN112199272B (zh) | 一种智能终端的测试方法、装置、终端设备及介质 | |
CN115794351A (zh) | 一种任务执行方法、装置、终端设备及存储介质 | |
CN110083473B (zh) | 基于risc-v架构总线访问错误的改进系统及方法 | |
CN111221573B (zh) | 一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质 | |
US10102032B2 (en) | Fast transitions for massively parallel computing applications | |
CN114625502A (zh) | 一种投词任务处理方法、装置、存储介质和电子设备 | |
CN111722671B (zh) | 一种计时方法、计时装置、终端设备及存储介质 | |
CN112673354B (zh) | 一种系统状态检测方法、系统状态装置及终端设备 | |
CN113873026A (zh) | 动态超时响应方法、装置、终端设备及存储介质 | |
CN113806025B (zh) | 数据处理方法、系统、电子装置及存储介质 | |
CN112286846B (zh) | 一种处理中断事件的方法和设备 | |
CN113568349B (zh) | 数据处理方法、装置、终端设备及可读存储介质 | |
CN115599722B (zh) | 基于操作系统内核实现串口数据精准传输的方法和装置 | |
CN112463125B (zh) | 一种虚拟定时器的定时方法及设备 | |
CN111597016B (zh) | 一种系统任务的时间保护方法、系统、存储介质及终端 | |
US8332546B2 (en) | Fully asynchronous direct memory access controller and processor work |
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 |