The embodiment of the invention provides a task processing method and device. The method includes: obtaining the type of application generated pending tasks, and the processing task; according to the types of the pending tasks, in determining the target set in the queue queue, the queue set includes a plurality of queue; the pending task cache to the target queue; pending tasks in the determination of the target in the queue, the first task is completed, the thread in the thread pool on the pending tasks, the number of threads in the thread pool queue number less than the queue in the set. An exception that avoids the application of an application because of the number of threads running in parallel.
【技术实现步骤摘要】
任务处理方法及装置
本专利技术实施例涉及计算机
,尤其涉及一种任务处理方法及装置。
技术介绍
在应用程序(软件)中,有很多耗时的业务逻辑,例如,获取服务器的数据、存储配置信息、定时上报日志信息等,为了保证应用程序的正常运行,可以通过IntentService类(服务组件)实现将耗时的业务逻辑。在应用程序的运行过程中,当应用程序运行到预设节点时,应用程序为了实现预设功能,应用程序可以对对应业务逻辑进行实例化,以得到实例化的任务,并通过实例化的任务完成相应的功能。其中,每一个业务逻辑用于实现一种功能,实例化的任务可以实现业务逻辑所提供的功能,且实例化的任务还可以具有自定义的功能。在应用程序运行至不同的节点时,可以对同一业务逻辑进行不同实例化,以得到多个任务,该多个任务均可以实现业务逻辑所提供的功能,但是该多个任务可能会有自定义功能可能会有差异,其中,一种业务逻辑实例化得到的多个任务串行执行,不同业务逻辑实例化得到的多个任务可以并行执行。在现有技术中,在一种业务逻辑被实例化得到任务之后,通过服务组件创建任务对应的线程,并通过线程执行该任务。然而,当实例化的任务较多时,需要创建多个线程,在线程个数较多时,可能会导致应用程序运行异常。
技术实现思路
本专利技术实施例提供一种任务处理方法及装置,避免了应用程序由于并行运行的线程个数太多而出现的异常的问题。第一方面,本专利技术实施例提供一种任务处理方法,包括:获取所述应用程序生成的待处理任务、及所述待处理任务的类型;根据所述待处理任务的类型,在队列集合中确定目标队列,所述队列集合中包括多个队列;将所述待处理任务缓存至所 ...
【技术保护点】
一种任务处理方法,其特征在于,包括:获取所述应用程序生成的待处理任务、及所述待处理任务的类型;根据所述待处理任务的类型,在队列集合中确定目标队列,所述队列集合中包括多个队列;将所述待处理任务缓存至所述目标队列;在确定所述目标队列中、所述待处理任务的前一个任务处理完成之后,通过线程池中的线程对所述待处理任务进行处理,所述线程池中的线程个数小于所述队列集合中的队列的个数。
【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:获取所述应用程序生成的待处理任务、及所述待处理任务的类型;根据所述待处理任务的类型,在队列集合中确定目标队列,所述队列集合中包括多个队列;将所述待处理任务缓存至所述目标队列;在确定所述目标队列中、所述待处理任务的前一个任务处理完成之后,通过线程池中的线程对所述待处理任务进行处理,所述线程池中的线程个数小于所述队列集合中的队列的个数。2.根据权利要求1所述的方法,其特征在于,所述在确定所述目标队列中、所述待处理任务的前一个任务处理完成之后,通过线程池中的线程对所述待处理任务进行处理,包括:获取所述目标队列中、所述待处理任务的前一个任务对应的处理完成消息;根据所述处理完成消息,通过所述线程池中的线程对所述待处理任务进行处理。3.根据权利要求2所述的方法,其特征在于,所述根据所述处理完成消息,通过所述线程池中的线程对所述待处理任务进行处理,包括:根据所述处理完成消息,将所述待处理任务存储至所述线程池对应的缓存队列;在确定所述待处理任务位于所述缓存队列的队首、且所述线程池中存在空闲线程时,通过所述空闲线程对所述待处理任务进行处理。4.根据权利要求3所述的方法,其特征在于,所述根据所述处理完成消息,将所述待处理任务存储至所述线程池对应的缓存队列之前,还包括:在确定所述应用程序启动之后,创建所述缓存队列;在确定所述队列集合中的队列中存在第一个任务时,将每一个队列中的第一个任务存储至所述缓存队列。5.根据权利要求3或4所述的方法,其特征在于,根据所述处理完成消息,将所述待处理任务存储至所述线程池对应的缓存队列之后,还包括:将所述待处理任务移出所述目标队列。6.根据权利要求3或4所述的方法,其特征在于,通过所述空闲线程对所述待处理任务进行处理之后,还包括:将所述待处理任务移出所述缓存队列。7.一种任务处理装置,其特征在于,包括获取模块、确定模块、存储模块和处理模块...
【专利技术属性】
技术研发人员:吴朝彬,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。