移动应用的业务处理方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:37705896 阅读:15 留言:0更新日期:2023-06-01 23:54
本申请公开了一种移动应用的业务处理方法及装置、存储介质、计算机设备,该方法包括:响应于移动应用中目标业务的触发信号,启动线程池,并初始化所述线程池的执行函数队列;获取目标业务对应的多个执行函数,将所述执行函数添加至所述执行函数队列中;通过所述线程池中的线程对所述执行函数队列中的执行函数进行循环执行,在任一执行函数执行结束时移除该执行函数并回调执行结果。本申请通过构建线程池和线程池的执行函数队列,将被触发的目标业务的执行函数添加到执行函数队列中,对执行函数队列中的执行函数进行多线程的并发执行,节省业务处理时间、提升业务处理效率。提升业务处理效率。提升业务处理效率。

【技术实现步骤摘要】
移动应用的业务处理方法及装置、存储介质、计算机设备


[0001]本申请涉及移动应用
,尤其是涉及到一种移动应用的业务处理方法及装置、存储介质、计算机设备。

技术介绍

[0002]Flutter是目前通用的一种移动应用程序开发框架,Flutter是单线程模式,SDK并没有提供多线程并发的方法。随着移动应用技术的不断发展,移动应用的业务越来越复杂,很多业务都需要通过执行多个函数才能得到业务返回参数。然而,目前基于Flutter的移动应用由于函数执行是基于单线程模式,执行函数速度受限,比如:某个业务需要执行21条函数,每条函数需要耗时2秒,则基于Flutter框架需要耗时42秒才能完成业务处理。如何提升移动应用的业务处理速度,是本领域的重要课题。

技术实现思路

[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]可选地,所述函数执行模块,还用于:当接收到所述目标业务的终止信号时,基于预设终止线程函数,将所述线程池的停止变量的变量值设置为真。
[0045]可选地,所述初始化模块,还用于:配置所述函数执行队列的函数执行方法,其中,所述线程基于所述函数执行方法对所述执行函数队列中的执行函数进行执行。
[0046]可选地,所述装置还包括:
[0047]封装模块,用于:定义执行函数方法体为异步执行,标明执行函数耗时方法为等待执行函数返回值;将所述执行函数方法体以及所述执行函数耗时方法封装为所述函数执行方法,以使基于所述函数执行方法对任一执行函数进行执行时,其他执行函数可与所述任一执行函数并行执行,且所述任一执行函数执行结束时进行执行结果回调。
[0048]可选地,所述函数执行模块,还用于:若所述执行函数队列中的执行函数均被移除,则结束所述线程池的生命周期;响应于新的业务的触发信号时,判断是否存在生命周期未结束的线程池;
[0049]所述函数添加模块,还用于若存在,则在所述线程池的执行函数队列中添加所述新的业务对应的执行函数;
[0050]所述初始化模块,还用于:若不存在,则启动新的线程池,初始化所述新的线程池的执行函数队列并添本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动应用的业务处理方法,其特征在于,所述方法包括:响应于移动应用中目标业务的触发信号,启动线程池,并初始化所述线程池的执行函数队列;获取目标业务对应的多个执行函数,将所述执行函数添加至所述执行函数队列中;通过所述线程池中的线程对所述执行函数队列中的执行函数进行循环执行,在任一执行函数执行结束时移除该执行函数并回调执行结果。2.根据权利要求1所述的方法,其特征在于,所述启动线程池,包括:获取线程池大小配置标识;当所述线程池大小配置标识指示不限制线程池大小时,确定所述目标业务对应的执行函数个数为线程池大小;当所述线程池大小配置标识指示线程池大小为固定值时,获取预设的线程池阈值作为线程池大小;当所述线程池大小配置标识指示线程池大小为随系统分配时,获取移动设备的内存大小,并依据所述内存大小确定线程池大小;基于预设启动线程池函数,启动与所述所述线程池大小匹配的线程池。3.根据权利要求1所述的方法,其特征在于,所述启动线程池之后,所述方法还包括:定义所述线程池的停止变量;所述通过所述线程池中的线程对所述执行函数队列中的执行函数进行循环执行之前,所述方法还包括:判断所述线程池的停止变量的变量值是否为真;若不为真,则通过所述线程池中的线程对所述执行函数队列中的执行函数进行循环执行;若为真,则清空所述执行函数队列,结束所述线程池的生命周期。4.根据权利要求3所述的方法,其特征在于,所述将所述执行函数添加至所述执行函数队列中之后,所述方法还包括:当接收到所述目标业务的终止信号时,基于预设终止线程函数,将所述线程池的停止变量的变量值设置为真。5.根据权利要求1所述的方法,其特征在于,所述初始化所述线程池的执行函数队列之后,所述方法还包括:配置所述函数执行队列的函数执行方法,其中,所...

【专利技术属性】
技术研发人员:张星亮吴剑文
申请(专利权)人:深圳市六度人和科技有限公司
类型:发明
国别省市:

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

1