CN107085532B - 任务监听方法和装置 - Google Patents
任务监听方法和装置 Download PDFInfo
- Publication number
- CN107085532B CN107085532B CN201710169150.9A CN201710169150A CN107085532B CN 107085532 B CN107085532 B CN 107085532B CN 201710169150 A CN201710169150 A CN 201710169150A CN 107085532 B CN107085532 B CN 107085532B
- Authority
- CN
- China
- Prior art keywords
- bit
- task
- preset event
- preset
- subscript value
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4435—Detection or removal of dead or redundant code
Abstract
本发明提出一种任务监听方法和装置,该任务监听方法包括监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作。通过本发明能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种任务监听方法和装置。
背景技术
一些应用场景下,例如,在用户点击电子设备中的某个应用程序,该应用程序会从后台服务器读取需要加载的数据,当该加载数据的过程触发多个异步并发任务时,可以对多个异步并发任务进行监听。
相关技术中,通常在实现任务监听代码中添加标志位,例如,在实现任务监听代码中添加布尔型的标志位来标记是否所有任务已经执行完毕,或者,使用RXJAVA实现合并多个请求为链式执行。
第一种方式下,在实现任务监听代码的使用过程中易出错,且代码冗余,无法复用。第二种方式下,需要集成RXJAVA,且耗费较高的学习成本。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种任务监听方法,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
本发明的另一个目的在于提出一种任务监听装置。
为达到上述目的,本发明第一方面实施例提出的任务监听方法,包括:监听任务是否产生预设事件;在所述任务产生所述预设事件时,获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理;触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
在本发明的一个实施例中,所述获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理,包括:
获取所述位对应的键值;
根据所述键值获取所述所占用任务状态寄存器的位的下标值;
基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或/位与运算,以对所述位进行置位处理。
在本发明的一个实施例中,所述预设事件包括:所述任务开始执行的第一预设事件,在所述预设事件为所述第一预设事件时,所述基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或/位与运算,包括:
基于所述下标值对所述预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量;
通过将所述第一变量与所述位进行位或运算以对所述位进行置位处理。
在本发明的一个实施例中,所述预设事件包括:所述任务结束执行的第二预设事件,在所述预设事件为所述第二预设事件时,所述基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或/位与运算,包括:
基于所述下标值对所述预定义变量进行左移运算,并对所述左移运算后的预定义变量进行取反运算,将所述取反运算后的预定义变量作为第二变量;
通过将所述第二变量与所述位进行位与运算以对所述位进行置位处理。
在本发明的一个实施例中,在所述预设事件为所述第二预设事件时,所述触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作,还包括:
判断所述任务状态寄存器的位是否均为零;
在所述任务状态寄存器的位均为零时,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
在本发明的一个实施例中,所述根据所述键值获取所述所占用任务状态寄存器的位的下标值,包括:
从预设注册映射表中读取与所述键值匹配的下标值,并将所述下标值作为所述所占用任务状态寄存器的位的下标值。
在本发明的一个实施例中,在所述监听任务是否产生预设事件之前,还包括:
对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值;
根据所述下标值和所述对应的键值生成所述预设注册映射表。
本发明第一方面实施例提出的任务监听方法,通过监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,由于通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
为达到上述目的,本发明第二方面实施例提出的任务监听装置,包括:监听模块,用于监听任务是否产生预设事件;获取模块,用于在所述任务产生所述预设事件时,获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理;调用模块,用于触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
在本发明的一个实施例中,所述获取模块,包括:
第一获取子模块,用于获取所述位对应的键值;
第二获取子模块,用于根据所述键值获取所述所占用任务状态寄存器的位的下标值;
置位子模块,用于基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或/位与运算,以对所述位进行置位处理。
在本发明的一个实施例中,所述预设事件包括:所述任务开始执行的第一预设事件,在所述预设事件为所述第一预设事件时,所述置位子模块具体用于:
基于所述下标值对所述预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量;
通过将所述第一变量与所述位进行位或运算以对所述位进行置位处理。
在本发明的一个实施例中,所述预设事件包括:所述任务结束执行的第二预设事件,在所述预设事件为所述第二预设事件时,所述置位子模块具体用于:
基于所述下标值对所述预定义变量进行左移运算,并对所述左移运算后的预定义变量进行取反运算,将所述取反运算后的预定义变量作为第二变量;
通过将所述第二变量与所述位进行位与运算以对所述位进行置位处理。
在本发明的一个实施例中,在所述预设事件为所述第二预设事件时,所述调用模块包括:
判断子模块,用于判断所述任务状态寄存器的位是否均为零;
调用子模块,用于在所述任务状态寄存器的位均为零时,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
在本发明的一个实施例中,所述第二获取子模块具体用于:
从预设注册映射表中读取与所述键值匹配的下标值,并将所述下标值作为所述所占用任务状态寄存器的位的下标值。
在本发明的一个实施例中,还包括:
检测模块,用于对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值;
生成模块,用于根据所述下标值和所述对应的键值生成所述预设注册映射表。
本发明第二方面实施例提出的任务监听装置,通过监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,由于通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的任务监听方法的流程示意图;
图2是本发明另一实施例提出的任务监听方法的流程示意图;
图3是本发明另一实施例提出的任务监听方法的流程示意图;
图4是本发明另一实施例提出的任务监听方法的流程示意图;
图5是本发明另一实施例提出的任务监听方法的流程示意图;
图6是本发明一实施例提出的任务监听装置的结构示意图;
图7是本发明另一实施例提出的任务监听装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
图1是本发明一实施例提出的任务监听方法的流程示意图。
本发明的实施例可以例如应用在电子设备的前端界面向后台服务器发送加载数据的请求,根据该请求触发加载任务的过程中,对此不作限制。
其中,电子设备例如为个人电脑(Personal Computer,PC),云端设备或者移动设备,移动设备例如智能手机,或者平板电脑等。
进一步地,该任务监听方法可以设置在电子设备中,也可以设置在后台服务器中,对此不作限制。
例如,在用户点击电子设备中的某个应用程序,该应用程序会从后台服务器读取需要加载的数据,当该加载数据的过程触发多个异步并发任务时,可以对多个异步并发任务进行监听,对此不作限制。
参见图1,该方法包括:
S11:监听任务是否产生预设事件。
在本发明的实施例中,该任务可以是由电子设备中的应用程序从后台服务器读取需要加载的数据时所触发的,对此不做限制。
其中,所触发的任务可以为一个或者多个。
可选地,预设事件可以例如为任务开始执行的第一预设事件,或者,任务结束执行的第二预设事件,也可以为其它该任务执行过程中的事件(例如,任务中断执行),对此不作限制。
S12:在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理。
相关技术中,通常在实现任务监听代码中添加标志位,例如,在实现任务监听代码中添加布尔型的标志位来标记是否所有任务已经执行完毕,这种方式下,在实现任务监听代码的使用过程中易出错,且代码冗余,无法复用。或者,使用RXJAVA实现合并多个请求为链式执行,这种方式下,需要集成RXJAVA,且耗费较高的学习成本。
而在本发明的实施例中,可以基于计算机编程语言(例如,Java,C++等)模拟任务状态寄存器和注册状态寄存器的处理逻辑,通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
在本发明的实施例中,任务状态寄存器的位,可以与注册状态寄存器的位一一对应,例如,注册状态寄存器的第i位为1,表明任务状态寄存器的第i位正在被一个任务占用,此时,如果任务状态寄存器的第i位为0,表明该任务没有处于运行中状态,如果第i位为1,则表明该任务在运行中,或者,任务状态寄存器的位,可以与注册状态寄存器的位也可以为其它对应关系,对此不作限制。
在本发明的实施例中,可以获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理,例如,可以通过分析触发任务的处理逻辑,来解析得到任务所占用任务状态寄存器的位的下标值,或者,也可以通过分析触发任务的处理逻辑,来解析得到任务所占用任务状态寄存器的位的键值,通过该键值获取对应的下标值,对此不作限制。
S13:触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作。
在本发明的实施例中,该回调接口的处理逻辑可以例如用于触发加载任务的前端界面进行与预设事件对应的界面操作,对应的界面操作例如,加载任务的前端界面弹出加载动画,或者,隐藏加载动画,对此不作限制。
进一步地,该回调接口的处理逻辑可以由软件开发人员基于计算机编程语言(例如,Java,C++等)实现,并预先编写调用该回调接口的应用程序编程接口(ApplicationProgramming Interface,API),以及,将其处理逻辑与任务状态寄存器和注册状态寄存器的处理逻辑进行集成,以实现在对任务所占用任务状态寄存器的位进行置位处理之后,通过调用该回调接口的API,使得加载任务的前端界面进行与预设事件对应的界面操作,对此不作限制。
在本发明的实施例中,由于可以采用不同的计算机编程语言模拟任务状态寄存器和注册状态寄存器的处理逻辑,以及回调接口的处理逻辑,处理逻辑简洁清晰,因此,可以实现代码复用,即将该任务监听方法集成在不同的应用平台中,程序可移植性高,应用范围广泛,学习成本低。
本实施例中,通过监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,由于通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
图2是本发明另一实施例提出的任务监听方法的流程示意图。
参见图2,该方法包括:
S21:对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值。
在本发明的实施例中,由于基于计算机编程语言(例如,Java,C++等)模拟任务状态寄存器和注册状态寄存器的处理逻辑,其中,可以通过注册状态寄存器的位来标记是否触发任务,能够有效提升任务的监控效果。
进一步地,在对任务进行监听之前,可以对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值,其中,键值可以例如为任务对应的哈希码,对此不作限制。由于根据未被占用的位来标记是否触发任务,能够有效保证任务监控的高效性和精准性,避免宕机。
S22:根据下标值和对应的键值生成预设注册映射表。
例如,在获取每个未被占用的位的下标值和对应的键值之后,可以将每个位的下标值和对应的键值一一对应,产生每个位的对应关系,根据对应后的多组对应关系生成预设注册映射表。
通过根据下标值和对应的键值生成预设注册映射表,能够实现根据注册状态寄存器的位的键值进行索引,保证监控高效性。
S23:监听任务是否产生预设事件。
S23可以参见上述实施例,在此不作赘述。
S24:获取位对应的键值。
S25:根据键值获取所占用任务状态寄存器的位的下标值。
可选地,可以从预设注册映射表中读取与键值匹配的下标值,并将下标值作为所占用任务状态寄存器的位的下标值,进一步保证监控高效性。
S26:基于下标值对预定义变量进行预设运算,并通过将预设运算后的预定义变量与位进行位或/位与运算,以对位进行置位处理。
在本发明的实施例中,预定义变量可以例如为二进制数1,对此不作限制。
进一步地,预设运算可以例如为对二进制数1进行左移运算,例如,对该二进制数1左移3位,可以得到1000,对此不作限制。
例如,二进制数1在内存中的表现值为00000000 00000000 00000000 00000001,对其进行左移3位的预设运算,其1变为00000000 00000000 00000000 00001000。
进一步地,在本发明的实施例中,可以通过将预设运算后的预定义变量与位进行位或/位与运算,以对位进行置位处理,或者,也可以直接通过预设的置位规则,对位进行置位处理,对此不作限制。
通过基于下标值对预定义变量进行预设运算,并通过将预设运算后的预定义变量与位进行位或/位与运算,以对位进行置位处理,处理逻辑简洁清晰,有效降低实现任务监听代码的学习成本。
S27:触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作。
S27可以参见上述实施例,在此不作赘述。
本实施例中,通过注册状态寄存器的位来标记是否触发任务,能够有效提升任务的监控效果。由于根据未被占用的位来标记是否触发任务,能够有效保证任务监控的高效性和精准性,避免宕机。通过根据下标值和对应的键值生成预设注册映射表,能够实现根据注册状态寄存器的位的键值进行索引,保证监控高效性。通过基于下标值对预定义变量进行预设运算,并通过将预设运算后的预定义变量与位进行位或/位与运算,以对位进行置位处理,处理逻辑简洁清晰,有效降低实现任务监听代码的学习成本。通过监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位,并对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,由于通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用。
图3是本发明另一实施例提出的任务监听方法的流程示意图。
本实施例以预设事件为任务开始执行的第一预设事件示例。
其中,在预设事件为第一预设事件时,图2所示实施例中S26包括:
S31:基于下标值对预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量。
S32:通过将第一变量与位进行位或运算以对位进行置位处理。
举例而言,通过任务所占用任务状态寄存器的位的键值,在预设注册映射表中索引到该位的下标值i,且,预定义变量为1,将1左移i位,并将左移i位的预定义变量作为第一变量,将第一变量与位进行位或运算,即,将任务状态寄存器中该位置1。
本实施例中,通过基于下标值对预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量,并通过将第一变量与位进行位或运算以对位进行置位处理,通过对任务状态寄存器的位置位来标记任务产生任务开始执行的第一预设事件,能够实现对任务开始执行的状态进行监听,保证监听准确度。
图4是本发明另一实施例提出的任务监听方法的流程示意图。
本实施例以预设事件为任务结束执行的第二预设事件示例。
其中,在预设事件为第二预设事件时,图2所示实施例中S26包括:
S41:基于下标值对预定义变量进行左移运算,并对左移运算后的预定义变量进行取反运算,将取反运算后的预定义变量作为第二变量。
S42:通过将第二变量与位进行位与运算以对位进行置位处理。
举例而言,通过任务所占用任务状态寄存器的位的键值,在预设注册映射表中索引到该位的下标值i,且,预定义变量为1,将1左移i位,并对左移i位的预定义变量进行取反运算,将取反运算后的预定义变量作为第二变量,以及将第二变量与位进行位与运算,即,将任务状态寄存器中该位置0。
本实施例中,通过基于下标值对预定义变量进行左移运算,并对左移运算后的预定义变量进行取反运算,将取反运算后的预定义变量作为第二变量,并通过将第二变量与位进行位与运算以对位进行置位处理,通过对任务状态寄存器的位置位来标记任务产生任务结束执行的第二预设事件,能够实现对任务结束执行的状态进行监听,保证监听准确度。
图5是本发明另一实施例提出的任务监听方法的流程示意图。
其中,在预设事件为第二预设事件时,图1所示实施例中S13,或者,图2所示实施例中S27,还可以包括:
S51:判断任务状态寄存器的位是否均为零,若是,则执行S52,否则执行S53。
可以理解的是,在本发明的实施例中,通过采用任务状态寄存器的位来标记任务是否产生预设事件,在触发多个异步并发任务时,可以对多个异步并发任务进行监听,即,通过任务状态寄存器的不同的位来标记不同的任务是否产生预设事件的情况,对此不作限制。
S52:触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作。
S53:持续监听任务是否产生预设事件。
本实施例中,通过判断任务状态寄存器的位是否均为零,在任务状态寄存器的位均为零时,触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,在任务状态寄存器的位并不均为零时,持续监听任务是否产生预设事件,能够有效降低任务监听的失误率,提升监听效果。
图6是本发明一实施例提出的任务监听装置的结构示意图。
参见图6,该装置60包括:监听模块601、获取模块602,以及调用模块603。其中,
监听模块601,用于监听任务是否产生预设事件。
获取模块602,用于在所述任务产生所述预设事件时,获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理。
可选地,一些实施例中,参见图7,所述获取模块602,包括:
第一获取子模块6021,用于获取所述位对应的键值。
第二获取子模块6022,用于根据所述键值获取所述所占用任务状态寄存器的位的下标值。
可选地,所述第二获取子模块6022具体用于:
从预设注册映射表中读取与所述键值匹配的下标值,并将所述下标值作为所述所占用任务状态寄存器的位的下标值。
置位子模块6023,用于基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或/位与运算,以对所述位进行置位处理。
可选地,所述预设事件包括:所述任务开始执行的第一预设事件,在所述预设事件为所述第一预设事件时,所述置位子模块6023具体用于:
基于所述下标值对所述预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量;通过将所述第一变量与所述位进行位或运算以对所述位进行置位处理。
可选地,所述预设事件包括:所述任务结束执行的第二预设事件,在所述预设事件为所述第二预设事件时,所述置位子模块6023具体用于:
基于所述下标值对所述预定义变量进行左移运算,并对所述左移运算后的预定义变量进行取反运算,将所述取反运算后的预定义变量作为第二变量;通过将所述第二变量与所述位进行位与运算以对所述位进行置位处理。
调用模块603,用于触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
可选地,一些实施例中,参见图7,在所述预设事件为所述第二预设事件时,所述调用模块603包括:
判断子模块6031,用于判断所述任务状态寄存器的位是否均为零。
调用子模块6032,用于在所述任务状态寄存器的位均为零时,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
可选地,一些实施例中,参见图7,该装置60包括:
检测模块604,用于对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值。
生成模块605,用于根据所述下标值和所述对应的键值生成所述预设注册映射表。
需要说明的是,前述图1-图5实施例中对任务监听方法实施例的解释说明也适用于该实施例的任务监听装置60,其实现原理类似,此处不再赘述。
本实施例中,通过监听任务是否产生预设事件;在任务产生预设事件时,获取任务所占用任务状态寄存器的位的下标值,并根据下标值对位进行置位处理;触发调用回调接口,以使加载任务的前端界面进行与预设事件对应的界面操作,由于通过采用任务状态寄存器的位来标记任务是否产生预设事件,能够减少实现任务监听代码的冗余,实现代码复用,有效降低实现任务监听代码的学习成本。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种任务监听方法,其特征在于,包括以下步骤:
监听任务是否产生预设事件;
在所述任务产生所述预设事件时,获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理;在对所述位进行置位处理之后,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作;
所述获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理,包括:
获取所述位对应的键值;
根据所述键值获取所述所占用任务状态寄存器的位的下标值;
基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或,或者,位与运算,以对所述位进行置位处理。
2.如权利要求1所述的任务监听方法,其特征在于,所述预设事件包括:所述任务开始执行的第一预设事件,在所述预设事件为所述第一预设事件时,所述基于所述下标值对所述预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或,或者,位与运算,包括:
基于所述下标值对所述预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量;
通过将所述第一变量与所述位进行位或运算以对所述位进行置位处理。
3.如权利要求1所述的任务监听方法,其特征在于,所述预设事件包括:所述任务结束执行的第二预设事件,在所述预设事件为所述第二预设事件时,所述基于所述下标值对所述预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或,或者,位与运算,包括:
基于所述下标值对所述预定义变量进行左移运算,并对所述左移运算后的预定义变量进行取反运算,将所述取反运算后的预定义变量作为第二变量;
通过将所述第二变量与所述位进行位与运算以对所述位进行置位处理。
4.如权利要求3所述的任务监听方法,其特征在于,在所述预设事件为所述第二预设事件时,所述触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作,还包括:
判断所述任务状态寄存器的位是否均为零;
在所述任务状态寄存器的位均为零时,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
5.如权利要求1所述的任务监听方法,其特征在于,所述根据所述键值获取所述所占用任务状态寄存器的位的下标值,包括:
从预设注册映射表中读取与所述键值匹配的下标值,并将下标值作为所述所占用任务状态寄存器的位的下标值。
6.如权利要求5所述的任务监听方法,其特征在于,在所述监听任务是否产生预设事件之前,还包括:
对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值;
根据所述下标值和所述对应的键值生成所述预设注册映射表。
7.一种任务监听装置,其特征在于,包括:
监听模块,用于监听任务是否产生预设事件;
获取模块,用于在所述任务产生所述预设事件时,获取所述任务所占用任务状态寄存器的位的下标值,并根据所述下标值对所述位进行置位处理;调用模块,用于在对所述位进行置位处理之后,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作;
所述获取模块,包括:
第一获取子模块,用于获取所述位对应的键值;
第二获取子模块,用于根据所述键值获取所述所占用任务状态寄存器的位的下标值;
置位子模块,用于基于所述下标值对预定义变量进行预设运算,并通过将所述预设运算后的预定义变量与所述位进行位或,或者,位与运算,以对所述位进行置位处理。
8.如权利要求7所述的任务监听装置,其特征在于,所述预设事件包括:所述任务开始执行的第一预设事件,在所述预设事件为所述第一预设事件时,所述置位子模块具体用于:
基于所述下标值对所述预定义变量进行左移运算,将左移运算后的预定义变量作为第一变量;
通过将所述第一变量与所述位进行位或运算以对所述位进行置位处理。
9.如权利要求7所述的任务监听装置,其特征在于,所述预设事件包括:所述任务结束执行的第二预设事件,在所述预设事件为所述第二预设事件时,所述置位子模块具体用于:
基于所述下标值对所述预定义变量进行左移运算,并对所述左移运算后的预定义变量进行取反运算,将所述取反运算后的预定义变量作为第二变量;
通过将所述第二变量与所述位进行位与运算以对所述位进行置位处理。
10.如权利要求9所述的任务监听装置,其特征在于,在所述预设事件为所述第二预设事件时,所述调用模块包括:
判断子模块,用于判断所述任务状态寄存器的位是否均为零;
调用子模块,用于在所述任务状态寄存器的位均为零时,触发调用回调接口,以使加载所述任务的前端界面进行与所述预设事件对应的界面操作。
11.如权利要求7所述的任务监听装置,其特征在于,所述第二获取子模块具体用于:
从预设注册映射表中读取与所述键值匹配的下标值,并将下标值作为所述所占用任务状态寄存器的位的下标值。
12.如权利要求11所述的任务监听装置,其特征在于,还包括:
检测模块,用于对注册状态寄存器逐位进行检测,获取每个未被占用的位的下标值和对应的键值;
生成模块,用于根据所述下标值和所述对应的键值生成所述预设注册映射表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710169150.9A CN107085532B (zh) | 2017-03-21 | 2017-03-21 | 任务监听方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710169150.9A CN107085532B (zh) | 2017-03-21 | 2017-03-21 | 任务监听方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107085532A CN107085532A (zh) | 2017-08-22 |
CN107085532B true CN107085532B (zh) | 2019-12-13 |
Family
ID=59615264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710169150.9A Active CN107085532B (zh) | 2017-03-21 | 2017-03-21 | 任务监听方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107085532B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284098A (zh) * | 2018-09-25 | 2019-01-29 | 四川长虹电器股份有限公司 | 基于RxJava构建事件总线RxBus的方法 |
CN109189456A (zh) * | 2018-11-05 | 2019-01-11 | 珠海格力电器股份有限公司 | 一种基于Rxjava技术的固件升级系统及其方法与空调 |
CN112650473B (zh) * | 2019-10-12 | 2022-05-10 | 武汉斗鱼鱼乐网络科技有限公司 | 一种属性监听方法以及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200906A (zh) * | 2011-05-25 | 2011-09-28 | 上海理工大学 | 大规模并发数据流处理系统及其处理方法 |
CN103019848A (zh) * | 2012-12-25 | 2013-04-03 | 北京航天测控技术有限公司 | 一种pci总线非向量中断实现方法 |
CN103316472A (zh) * | 2013-05-17 | 2013-09-25 | 南京睿悦信息技术有限公司 | 一种基于蓝牙手柄的Android设备游戏平台系统及其实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980167B (zh) * | 2010-10-19 | 2013-02-06 | 上海富士施乐有限公司 | 一种任务状态机管理机制运行的方法 |
CN103312517B (zh) * | 2013-06-28 | 2016-04-06 | 飞天诚信科技股份有限公司 | 一种双用途设备共用显示屏和按键的实现方法 |
CN105653611B (zh) * | 2015-12-24 | 2019-08-20 | 深圳市汇朗科技有限公司 | 分表分页排序查询方法及装置 |
CN105956085B (zh) * | 2016-04-29 | 2019-08-27 | 优酷网络技术(北京)有限公司 | 一种倒排索引的构建方法和装置、检索方法和装置 |
CN106339217B (zh) * | 2016-08-18 | 2019-10-11 | 福建天泉教育科技有限公司 | 基于Unity的事件管理方法及系统 |
-
2017
- 2017-03-21 CN CN201710169150.9A patent/CN107085532B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200906A (zh) * | 2011-05-25 | 2011-09-28 | 上海理工大学 | 大规模并发数据流处理系统及其处理方法 |
CN103019848A (zh) * | 2012-12-25 | 2013-04-03 | 北京航天测控技术有限公司 | 一种pci总线非向量中断实现方法 |
CN103316472A (zh) * | 2013-05-17 | 2013-09-25 | 南京睿悦信息技术有限公司 | 一种基于蓝牙手柄的Android设备游戏平台系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107085532A (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019581B2 (en) | Identifying stored security vulnerabilities in computer software applications | |
CN109471697B (zh) | 一种监控虚拟机中系统调用的方法、装置及存储介质 | |
CN107085532B (zh) | 任务监听方法和装置 | |
JP2010238228A (ja) | プログラムの動的分析方法及びその装置 | |
US20080270842A1 (en) | Computer operating system handling of severe hardware errors | |
US20150033210A1 (en) | Method and system for debugging a change-set | |
CA2811617C (en) | Commit sensitive tests | |
US10318731B2 (en) | Detection system and detection method | |
CN106844219B (zh) | 应用检测方法及应用检测装置 | |
US8904360B2 (en) | Automated identification of redundant method calls | |
CN113342671B (zh) | 对运算模块进行验证的方法、装置、电子设备和介质 | |
US9122805B2 (en) | Resilient mock object creation for unit testing | |
CN114386045A (zh) | 一种Web应用程序漏洞检测方法、装置及存储介质 | |
CN110688320B (zh) | 全局变量的检测方法、装置及终端设备 | |
US8966455B2 (en) | Flow analysis in program execution | |
US9497253B2 (en) | Authorization review system | |
CN108845837B (zh) | 一种检测windows系统运行模式的方法及电子设备 | |
CN107729180B (zh) | 异常信息处理方法及装置、计算机装置及可读存储介质 | |
CN111124730A (zh) | 一种服务器的错误定位方法、装置及计算机存储介质 | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
US20170272377A1 (en) | Verifying functionality restrictions of computing devices | |
CN112912855A (zh) | 开机检测方法、开机检测装置及移动终端 | |
US9122551B2 (en) | Methods and systems for generating read-only operating systems | |
CN117724979A (zh) | 实时操作系统的检测方法、设备及介质 | |
CN105389178A (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 |