中断线程任务的方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:35583903 阅读:21 留言:0更新日期:2022-11-12 16:17
本申请涉及计算机技术领域,公开了一种中断线程任务方法及装置、存储介质、计算机设备,该方法包括:响应于目标应用程序的运行信号,创建所述目标应用程序的主线程,接收所述目标应用程序的功能调用请求,并获取与所述功能调用请求匹配的子线程执行代码,若所述子线程执行代码包含循环条件,则基于预设循环中断条件修改所述循环条件,得到目标子线程执行代码,并通过所述主线程创建所述目标子线程执行代码对应的子线程,当接收所述子线程对应的中断请求信号时,向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程,可以提高线程中断的成功率。可以提高线程中断的成功率。可以提高线程中断的成功率。

【技术实现步骤摘要】
中断线程任务的方法及装置、存储介质、计算机设备


[0001]本申请涉及计算机
,尤其是涉及到一种中断线程任务的方法及装置、存储介质、计算机设备。

技术介绍

[0002]目前,计算机系统使用“中断”机制来告知处理器意外的或偶发的活动或状况。当接收中断的时候,处理器会暂停其当前任务,执行处理该状况所必需的步骤,然后继续其普通执行的任务。进程是系统分配资源的最小单位,而线程是系统调度的最小单位,即线程属于进程进行的中一部分,通常一个进程中会有多个线程,每个线程分别执行不同的任务。当线程在循环执行任务的情况下,想要立刻中止该线程的进行,目前的操作方式是调用线程的int errupt方法来尝试中断线程,但是interrupt含义是通知线程需要进行结束,然后设置一个中断标识并抛出异常,但是至于会不会立即中断取决于线程本身,线程中断成功率难以保证。

技术实现思路

[0003]有鉴于此,本申请提供了一种中断线程任务方法及装置、存储介质、计算机设备,可以提高线程中断的成功率。
[0004]根据本申请的一个方面,提供了一种中断线程任务的方法,所述方法包括:
[0005]响应于目标应用程序的运行信号,创建所述目标应用程序的主线程;
[0006]接收所述目标应用程序的功能调用请求,并获取与所述功能调用请求匹配的子线程执行代码;
[0007]若所述子线程执行代码包含循环条件,则基于预设循环中断条件修改所述循环条件,得到目标子线程执行代码,并通过所述主线程创建所述目标子线程执行代码对应的子线程;
[0008]当接收所述子线程对应的中断请求信号时,向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程。
[0009]可选地,所述预设循环中断条件为所述主线程处于非运行状态,所述向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程,包括:
[0010]模拟所述主线程处于非运行状态,并将所述主线程的非运行状态信号传递至所述子线程中,以使所述子线程基于所述主线程的非运行状态信号产生中断。
[0011]可选地,所述基于预设循环中断条件修改所述循环条件,得到目标子线程执行代码,包括:
[0012]提取所述子线程执行代码的循环条件代码段中的第一循环条件代码,并基于所述预设循环中断条件,确定第二循环条件代码;
[0013]基于所述第一循环条件代码和所述第二循环条件代码,生成目标循环条件代码,其中,目标循环条件为第一循环条件和第二循环条件同时成立;
[0014]将所述目标循环条件代码嵌入所述子线程的循环条件代码段,得到目标子线程执行代码。
[0015]可选地,所述方法还包括:
[0016]响应于目标应用程序的运行信号,创建中断改造进程,其中,所述中断改造进程包括子线程执行代码改造线程和主线程运行状态模拟线程;
[0017]所述基于预设循环中断条件修改所述循环条件,包括:
[0018]所述子线程执行代码改造线程基于预设循环中断条件修改所述循环条件;
[0019]所述向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,包括:
[0020]所述主线程运行状态模拟线程生成所述主线程达成所述预设循环中断条件的模拟信号,并将所述模拟信号传递至所述子线程中。
[0021]可选地,所述响应于目标应用程序的运行信号,创建所述目标应用程序的主线程之前,所述方法还包括:
[0022]获取中断改造进程数据,并将所述中断改造进程数据封装于中断改造插件,其中,所述中断改造进程数据包括子线程执行代码改造线程创建代码及主线程运行状态模拟线程创建代码;
[0023]所述创建中断改造进程,包括:
[0024]启动所述中断改造插件,并通过所述中断改造插件创建所述中断改造进程。
[0025]可选地,所述通过所述主线程创建所述目标子线程执行代码对应的子线程,包括:
[0026]若与所述功能调用请求匹配的子线程执行代码包括多个,则基于每个子线程对应的预设循环中断条件,分别修改每个子线程执行代码的所述循环条件,得到每个子线程执行代码对应的目标子线程执行代码,并通过所述主线程创建每个所述目标子线程执行代码对应的子线程;
[0027]相应地,所述当接收所述子线程对应的中断请求信号时,向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程,包括:
[0028]当接收到任一子线程对应的中断请求信号时,生成所述主线程达成所述任一子线程对应的预设循环中断条件的模拟信号,并向所述任一子线程发送所述模拟信号,以中断所述任一子线程。
[0029]可选地,所述基于每个子线程对应的预设循环中断条件,分别修改每个子线程执行代码的所述循环条件,得到每个子线程执行代码对应的目标子线程执行代码,包括:
[0030]确定所述目标应用程序的功能调用请求的时间顺序信息,并根据所述时间顺序信息确定与所述功能调用请求匹配的子线程执行代码的修改次序;
[0031]基于每个子线程对应的预设循环中断条件,按所述修改次序依次修改每个子线程执行代码的所述循环条件,得到每个子线程执行代码的对应的目标子线程执行代码。
[0032]根据本申请的另一方面,提供了一种中断线程任务装置,所述装置包括:
[0033]线程创建模块,用于响应于目标应用程序的运行信号,创建所述目标应用程序的主线程;
[0034]代码获取模块,用于接收所述目标应用程序的功能调用请求,并获取与所述功能调用请求匹配的子线程执行代码;
[0035]代码修改模块,用于若所述子线程执行代码包含循环条件,则基于所述循环条件修改所述循环条件,得到目标子线程执行代码,并通过所述主线程创建所述目标子线程执行代码对应的子线程;
[0036]线程中断模块,用于当接收所述子线程对应的中断请求信号时,向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程。
[0037]可选地,所述线程中断模块,还用于:
[0038]模拟所述主线程处于非运行状态,并将所述主线程的非运行状态信号传递至所述子线程中,以使所述子线程基于所述主线程的非运行状态信号产生中断。
[0039]可选地,所述代码修改模块,还用于:
[0040]提取所述子线程执行代码的循环条件代码段中的第一循环条件代码,并基于所述预设循环中断条件,确定第二循环条件代码;
[0041]基于所述第一循环条件代码和所述第二循环条件代码,生成目标循环条件代码,其中,目标循环条件为第一循环条件和第二循环条件同时成立;
[0042]将所述目标循环条件代码嵌入所述子线程的循环条件代码段,得到目标子线程执行代码。
[0043]可选地,所述装置还包括:进程创建模块,用于:
[0044]响应于目标应用程序的运行信号,创建中断改造进程,其中,所述中断改造进程包括子线程执行代码改本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中断线程任务的方法,其特征在于,所述方法包括:响应于目标应用程序的运行信号,创建所述目标应用程序的主线程;接收所述目标应用程序的功能调用请求,并获取与所述功能调用请求匹配的子线程执行代码;若所述子线程执行代码包含循环条件,则基于预设循环中断条件修改所述循环条件,得到目标子线程执行代码,并通过所述主线程创建所述目标子线程执行代码对应的子线程;当接收所述子线程对应的中断请求信号时,向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程。2.根据权利要求1所述的方法,其特征在于,所述预设循环中断条件为所述主线程处于非运行状态,所述向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,以中断所述子线程,包括:模拟所述主线程处于非运行状态,并将所述主线程的非运行状态信号传递至所述子线程中,以使所述子线程基于所述主线程的非运行状态信号产生中断。3.根据权利要求1所述的方法,其特征在于,所述基于预设循环中断条件修改所述循环条件,得到目标子线程执行代码,包括:提取所述子线程执行代码的循环条件代码段中的第一循环条件代码,并基于所述预设循环中断条件,确定第二循环条件代码;基于所述第一循环条件代码和所述第二循环条件代码,生成目标循环条件代码,其中,目标循环条件为第一循环条件和第二循环条件同时成立;将所述目标循环条件代码嵌入所述子线程的循环条件代码段,得到目标子线程执行代码。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于目标应用程序的运行信号,创建中断改造进程,其中,所述中断改造进程包括子线程执行代码改造线程和主线程运行状态模拟线程;所述基于预设循环中断条件修改所述循环条件,包括:所述子线程执行代码改造线程基于预设循环中断条件修改所述循环条件;所述向所述子线程发送所述主线程达成所述预设循环中断条件的模拟信号,包括:所述主线程运行状态模拟线程生成所述主线程达成所述预设循环中断条件的模拟信号,并将所述模拟信号传递至所述子线程中。5.根据权利要求4所述的方法,其特征在于,所述响应于目标应用程序的运行信号,创建所述目标应用程序的主线程之前,所述方法还包括:获取中断改造进程数据,并将所述中断改造进程数据封装于中断改造插件,其中,所述中断改造进程数据包括子线程执行代码改造线程创建代码及主线程运行状态模拟线程创建代码;所述创建中断改造进程,包括:启动所述中断改造插...

【专利技术属性】
技术研发人员:何辉
申请(专利权)人:平安壹钱包电子商务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1