一种异步调用方法、装置、计算机设备和可读存储介质制造方法及图纸

技术编号:35278272 阅读:14 留言:0更新日期:2022-10-22 12:20
本申请实施例公开了一种异步调用方法、装置、计算机设备和可读存储介质;本申请实施例可以确定应用程序的待执行任务集,待执行任务集包括至少一个按照执行顺序排列的待执行任务;利用应用程序的任务循环线程执行待执行任务集中待执行任务;当检测到任务循环线程执行的当前任务满足预设触发条件时,调用任务循环线程的异步调用等待函数,以创建用于执行至少一个目标任务的子循环线程;利用子循环线程执行至少一个目标任务;当检测到异步调用等待函数接收到当前任务的执行结果时,基于执行结果触发任务循环线程执行待执行任务集中未执行任务,提高了任务的执行效率。提高了任务的执行效率。提高了任务的执行效率。

【技术实现步骤摘要】
一种异步调用方法、装置、计算机设备和可读存储介质


[0001]本申请涉及通讯
,具体涉及一种异步调用方法、装置、计算机设备和可读存储介质。

技术介绍

[0002]操作系统发展到今天已经十分精巧,线程便是其中一个杰作。在单线程方式下,计算机设备是一台严格意义上的冯诺依曼式机器,即任务在执行的过程中只能上一个任务执行结束后才能执行下一个任务。
[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]图1是本申请实施例提供的异步调用方法的场景示意图;
[0037]图2是本申请实施例提供的异步调用方法的流程示意图;
[0038]图3是本申请实施例提供的异步调用方法的待执行任务示意图;
[0039]图4是本申请实施例提供的异步调用方法的又一场景示意图;
[0040]图5是本申请实施例提供的异步调用方法的任务示意图;
[0041]图6是本申请实施例提供的异步调用方法的又一场景示意图;
[0042]图7是本申请实施例提供的异步调用方法的又一场景示意图;
[0043]图8是本申请实施例提供的异步调用方法的又一场景示意图;
[0044]图9是本申请实施例提供的异步调用方法的又一场景示意图;
[0045]图10是本申请实施例提供的异步调用方法的又一场景示意图;
[0046]图11是本申请实施例提供的异步调用方法的又一流程示意图;
[0047]图12是本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步调用方法,其特征在于,所述异步调用方法包括:确定应用程序的待执行任务集,所述待执行任务集包括至少一个按照执行顺序排列的待执行任务;利用所述应用程序的任务循环线程执行所述待执行任务集中待执行任务;当检测到所述任务循环线程执行的当前任务满足预设触发条件时,调用所述任务循环线程的异步调用等待函数,以创建用于执行至少一个目标任务的子循环线程,所述目标任务包括所述待执行任务集中执行顺序在所述当前任务之后的任务;利用所述子循环线程执行至少一个目标任务;当检测到所述异步调用等待函数接收到所述当前任务的执行结果时,基于所述执行结果触发所述任务循环线程执行所述待执行任务集中未执行任务。2.如权利要求1所述的异步调用方法,其特征在于,所述当检测到所述任务循环线程执行的当前任务满足预设触发条件时,调用所述任务循环线程的异步调用等待函数,以创建用于执行至少一个目标任务的子循环线程,包括:当检测到所述任务循环线程执行的当前任务满足预设触发条件时,确定所述当前任务的任务类型;根据所述当前任务的任务类型,在所述待执行任务集中添加位置定位标识;根据所述位置定位标识调用任务循环线程的异步调用等待函数,并根据所述位置定位标识从所述待执行任务集中筛选出所述至少一个目标任务,以利用所述异步调用等待函数创建用于执行至少一个目标任务的子循环线程。3.如权利要求2所述的异步调用方法,其特征在于,所述根据所述当前任务的任务类型,在所述待执行任务集中添加位置定位标识,包括:根据所述当前任务的任务类型,在预设关系映射表中获取目标任务筛选信息;根据所述目标任务筛选信息在所述待执行任务集中添加位置定位标识。4.如权利要求2所述的异步调用方法,其特征在于,所述利用所述异步调用函数创建用于执行至少一个目标任务的子循环线程,包括:利用所述异步调用等待函数触发任务执行引擎调用线程创建函数创建所述子循环线程。5.如权利要求2所述的异步调用方法,其特征在于,所述方法还包括:确定所述至少一个目标任务在所述执行任务集中的执行顺序;所述利用所述子循环线程执行至少一个目标任务,包括:利用所述子循环线程根据所述执行顺序执行至少一个目标任务。6.如权利要求1所述的异步调用方法,其特征在于,所述当检测到所述异步调用等待函数接收到所述当前任务的执行结果时,基于所述执行结果触发所述任务循环线程执行所述待执行任务集中未执行任务,包括:当检测到所述异步调用等待函数接收到所述当前任务的执行结果时,对所述子循环线程中的目标任务进行执行状态检测,得到所述目标任务的执行状态;根据所述执行状态...

【专利技术属性】
技术研发人员:张长荣
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1