一种多任务事件的处理方法和装置制造方法及图纸

技术编号:19341380 阅读:31 留言:0更新日期:2018-11-07 13:37
本发明专利技术涉及一种多任务事件的处理方法和装置,所述方法包括:获取任务指令;解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系;根据所述任务事件的数量,确定启动的线程数量;根据所述任务事件之间的关联关系,确定所述启动的线程的优先级;根据所述线程的优先级,运行所述任务事件。本发明专利技术可以提升对多任务事件的处理效率。

A method and device for processing multitasking events

The invention relates to a method and device for processing multi-task events, which includes acquiring task instructions, parsing the task instructions, determining the number of task events corresponding to the task instructions and the correlation between the task events, and determining the number of threads started according to the number of task events. According to the relationship between the task events, the priority of the initiated thread is determined, and the task events are run according to the priority of the thread. The invention can improve the processing efficiency of multitask events.

【技术实现步骤摘要】
一种多任务事件的处理方法和装置
本专利技术涉及计算机
,特别是涉及一种多任务事件的处理方法和装置。
技术介绍
现如今互联网性能逐渐更新换代的今天,越来越多的代码思想得以实现,大量的并发任务可以在应用中同时的进行。现有的技术一种是通过直接将任务放置在线程内交由handler在多线程间对任务进行切换,由消息泵不断地将任务泵出去执行;另一种是线程池直接并发执行。但是,现有技术多用于各种事件之间不存在联系的情况,这种并行任务的处理并不会影响各种事件的处理效率。如果各种事件之间具有相应的关联性,现有技术则容易导致性能的损耗,延长处理的时间。
技术实现思路
基于此,有必要针对目前在多个任务事件存在关联关系时,任务事件的处理效率低下的问题,提供一种多任务事件的处理方法和装置。一种多任务事件的处理方法,所述方法包括:获取任务指令;解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系;根据所述任务事件的数量,确定启动的线程数量;根据所述任务事件之间的关联关系,确定所述启动的线程的优先级;根据所述线程的优先级,运行所述任务事件。优选的,所述关联关系包括:一个任务事件的处理过程对其它至少一个任务事件的处理结果的依赖关系;所述根据所述任务事件之间的关联关系,确定所述启动的线程的优先级,包括:当所述任务事件中的第一任务事件的处理过程依赖于所述任务事件中第二任务事件的处理结果时,则与所述第一任务事件对应的第一线程的优先级大于或等于与所述第二任务事件对应的第二线程的优先级。优选的,所述根据所述线程的优先级,运行所述任务事件,包括:根据所述线程中的第一线程,获取所述任务事件中与所述第一线程对应的第一任务事件;当所述第一任务事件的处理过程需要所述任务事件中第二任务事件的处理结果时,确定所述第一任务事件的处理过程中需要所述第二任务事件的处理结果的第一时间节点;根据所述第一时间节点,向所述第二任务事件发出第一事件请求;所述第一事件请求用于获取所述第二任务事件的处理结果;当所述第二任务事件的处理结果存在时,根据所述第一事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。优选的,所述方法还包括:当所述第二任务事件的处理结果不存在时,确定所述线程中与所述第二任务事件对应的第二线程;所述第二线程的优先级小于或等于所述第一线程;根据所述第二线程,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,向所述第一任务事件发出通知请求;所述通知请求用于告知所述第一任务事件已存在所述第二任务事件的处理结果;根据所述通知请求,所述第一任务事件向所述第二任务事件发出第二事件请求;所述第二事件请求用于获取所述第二任务事件的处理结果;根据所述第二事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。优选的,通过handler向所述第二任务事件发出第一事件请求。一种多任务事件的处理装置,包括:获取模块,用于获取任务指令;确定模块,用于解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系;数量确定模块,用于根据所述任务事件的数量,确定启动的线程数量;优先级确定模块,用于根据所述任务事件之间的关联关系,确定所述启动的线程的优先级;运行模块,用于根据所述线程的优先级,运行所述任务事件。优选的,所述关联关系包括:一个任务事件的处理过程对其它至少一个任务事件的处理结果的依赖关系;所述优先级确定模块用于:当所述任务事件中的第一任务事件的处理过程依赖于所述任务事件中第二任务事件的处理结果时,则与所述第一任务事件对应的第一线程的优先级大于或等于与所述第二任务事件对应的第二线程的优先级。优选的,所述运行模块用于:根据所述线程中的第一线程,获取所述任务事件中与所述第一线程对应的第一任务事件;当所述第一任务事件的处理过程需要所述任务事件中第二任务事件的处理结果时,确定所述第一任务事件的处理过程中需要所述第二任务事件的处理结果的第一时间节点;根据所述第一时间节点,向所述第二任务事件发出第一事件请求;所述第一事件请求用于获取所述第二任务事件的处理结果;当所述第二任务事件的处理结果存在时,根据所述第一事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。优选的,所述运行模块用于:当所述第二任务事件的处理结果不存在时,确定所述线程中与所述第二任务事件对应的第二线程;所述第二线程的优先级小于或等于所述第一线程;根据所述第二线程,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,向所述第一任务事件发出通知请求;所述通知请求用于告知所述第一任务事件已存在所述第二任务事件的处理结果;根据所述通知请求,所述第一任务事件向所述第二任务事件发出第二事件请求;所述第二事件请求用于获取所述第二任务事件的处理结果;根据所述第二事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。优选的,通过handler向所述第二任务事件发出第一事件请求。本专利技术实施例中,对于任务指令,可以解析出与任务指令对应的任务事件数量和任务事件之间的关联关系,根据任务事件的数量,可以确定启动的线程数量;根据任务事件之间的关联关系,可以确定启动的线程的优先级;根据线程的优先级,可以运行任务事件;由此,对于并发性的多任务事件,本实施例可以根据线程的优选级,对并发性的多任务事件进行处理,从而在多任务事件具有关联关系时,提升对多任务事件的处理效率。附图说明图1为一实施例的多任务事件的处理方法的流程图;图2为一实施例的多任务事件的处理装置的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1为一实施例的多任务事件的处理方法的流程图。如图1所示,该方法包括:步骤101,获取任务指令。本实施例可以应用于服务器或或者各种终端等电子设备。任务指令可以用于使电子设备执行至少一个运算任务等。电子设备在获取任务指令后,可以依据任务指令完成相应的运算过程。步骤102,解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系。通常对于一个任务指令,该任务指令在被解析后,可以生成至少一个任务事件,这些任务事件可以具有某种关联关系,也可以是相互独立的任务事件。本实施例中,可以解析出任务事件的数量,以及当任务事件中的一些或者全部具有关联关系时,也可以解析出这些任务事件之间的关联关系。步骤103,根据所述任务事件的数量,确定启动的线程数量。对于任务事件的数量,可以启动对应的线程执行这些任务事件。由任务事件的数量,可以确定开启的线程的数量。其中,一些任务事件可以由一个线程处理时,则这些任务事件可以只开启一个线程。更多的情况下,任务事件的数量大于或等于启动的线程数量。步骤104,根据所述任务事件之间的关联关系,确定所述启动的线程的优先级。由于任务事件之间存在关联关系,则一些任务事件的运行可能依赖于其它任务事件的处理结果。这就可本文档来自技高网...

【技术保护点】
1.一种多任务事件的处理方法,其特征在于,所述方法包括:获取任务指令;解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系;根据所述任务事件的数量,确定启动的线程数量;根据所述任务事件之间的关联关系,确定所述启动的线程的优先级;根据所述线程的优先级,运行所述任务事件。

【技术特征摘要】
1.一种多任务事件的处理方法,其特征在于,所述方法包括:获取任务指令;解析所述任务指令,确定与所述任务指令对应的任务事件的数量和所述任务事件之间的关联关系;根据所述任务事件的数量,确定启动的线程数量;根据所述任务事件之间的关联关系,确定所述启动的线程的优先级;根据所述线程的优先级,运行所述任务事件。2.根据权利要求1所述的方法,其特征在于,所述关联关系包括:一个任务事件的处理过程对其它至少一个任务事件的处理结果的依赖关系;所述根据所述任务事件之间的关联关系,确定所述启动的线程的优先级,包括:当所述任务事件中的第一任务事件的处理过程依赖于所述任务事件中第二任务事件的处理结果时,则与所述第一任务事件对应的第一线程的优先级大于或等于与所述第二任务事件对应的第二线程的优先级。3.根据权利要求1所述的方法,其特征在于,所述根据所述线程的优先级,运行所述任务事件,包括:根据所述线程中的第一线程,获取所述任务事件中与所述第一线程对应的第一任务事件;当所述第一任务事件的处理过程需要所述任务事件中第二任务事件的处理结果时,确定所述第一任务事件的处理过程中需要所述第二任务事件的处理结果的第一时间节点;根据所述第一时间节点,向所述第二任务事件发出第一事件请求;所述第一事件请求用于获取所述第二任务事件的处理结果;当所述第二任务事件的处理结果存在时,根据所述第一事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述第二任务事件的处理结果不存在时,确定所述线程中与所述第二任务事件对应的第二线程;所述第二线程的优先级小于或等于所述第一线程;根据所述第二线程,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,向所述第一任务事件发出通知请求;所述通知请求用于告知所述第一任务事件已存在所述第二任务事件的处理结果;根据所述通知请求,所述第一任务事件向所述第二任务事件发出第二事件请求;所述第二事件请求用于获取所述第二任务事件的处理结果;根据所述第二事件请求,获取所述第二任务事件的处理结果;根据所述第二任务事件的处理结果,对所述第一任务事件进行处理。5.根据权利要求3所述的方法,其特征在于,通过handler向所述第二任务事件发出第一事件请求...

【专利技术属性】
技术研发人员:刘睿王彬彬
申请(专利权)人:苏州乐麟无线信息科技有限公司
类型:发明
国别省市:江苏,32

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

1