多线程的执行方法、装置、电子设备及存储介质制造方法及图纸

技术编号:29053043 阅读:21 留言:0更新日期:2021-06-26 06: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]第三方面,提供了一种电子设备,该电子设备包括:
[0037]一个或多个处理器;
[0038]存储器;
[0039]一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本申请实施例的第一方面所提供的多线程的执行方法。
[0040]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本申请实施例第一方面所提供的多线程的执行方法。
[0041]本申请实施例提供的技术方案带来的有益效果是:
[0042]本申请所提供的多线程的执行方案,设备所执行的当前帧触发了异步任务时,预测该异步任务的执行处理耗时进行预测。根据对异步任务执行耗时的预测,得到处理帧号,并以该处理帧号将异步任务列入任务队列的任务线程中,并按序执行,从而既能够保证每个设备的核心逻辑数据一致,对于不能再当前帧完成的异步任务另设任务线程进行处理,从而降低了整个帧线程中每一帧的处理执行时间,有助于提高帧线程的处理效率,而且也为其他数据处理释放更多的设备处理性能,有助于提升设备的画面的流畅度。
[0043]本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请实施例的实践了解到。
附图说明
[0044]本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0045]图1为本申请的一个实施例中的多线程的执行方法的流程示意图;
[0046]图2为本申请所提供的一个实施例中的多线程的执行的运行架构图;
[0047]图3为本申请公开的实施例所提供的多线程的执行的结构示意;
[0048]图4为本申请一个实施例所提供的一种多线程的执行的电子设备的结构示意图。
具体实施方式
[0049]下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本专利技术的限制。
[0050]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多线程的执行方法,其特征在于,包括以下步骤:在当前帧触发异步任务时,根据所述异步任务的类型,预测所述异步任务的执行耗时;根据预测结果得到的完成所述异步任务的处理帧号与所述异步任务的结果进行关联;根据所述处理帧号按序将所述异步任务列入至任务队列,根据所述处理帧号执行所述任务队列中的异步任务。2.根据权利要求1所述的方法,其特征在于,所述在当前帧触发异步任务时,根据所述异步任务的类型的步骤之前,还包括:执行到当前帧时,检查是否存在前面的帧的异步任务;若是,获取在所述当前帧待处理的所有异步任务。3.根据权利要求2所述的方法,其特征在于,所述获取在所述当前帧待处理的所有异步任务的步骤,包括:根据所述当前帧的帧号,从任务列表中获取并移除所述当前帧待处理的所有异步任务;其中,所述任务列表存储待处理的异步任务。4.根据权利要求3所述的方法,其特征在于,所述从任务列表中获取并移除所述当前帧待处理的所有异步任务的步骤之后,还包括:执行所述异步任务,并等待所有所述异步任务执行完毕。5.根据权利要求4所述的方法,其特征在于,所述等待所有所述异步任务执行完毕的步骤,包括:对所有所述异步任务进行计算和数据变更;根据所述异步任务的执行结果更新核心逻辑数据。6.根据权利要求5所述的方法,其特征在于,所述根据预测结果得到的完成所述异步任务的处理帧号与所述异步任务的结果进行关联的步骤,包括:根据每一帧的预设时长,对所述异步任务的执行所需占用的帧的数量进行预测;根据所述预测结果得到完成所述异步任务的处理帧号,并将所述异步任务的执行结果分配给所述异步任务的核心数据更新的处理帧号。7.根据权利要求3所述的方法,其特征在于,所述根据所述处理帧号执行所述任务队列中的异步任务的步骤,包括:任务线程根据所述任务队列中的所述处理帧...

【专利技术属性】
技术研发人员:吴沛霖
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:

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

1