CN110515715A - 基于线程池的任务处理方法及装置 - Google Patents

基于线程池的任务处理方法及装置 Download PDF

Info

Publication number
CN110515715A
CN110515715A CN201910778864.9A CN201910778864A CN110515715A CN 110515715 A CN110515715 A CN 110515715A CN 201910778864 A CN201910778864 A CN 201910778864A CN 110515715 A CN110515715 A CN 110515715A
Authority
CN
China
Prior art keywords
thread
task
level
pool
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910778864.9A
Other languages
English (en)
Inventor
易存道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Boln Software Ltd By Share Ltd
Original Assignee
Beijing Boln Software Ltd By Share Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Boln Software Ltd By Share Ltd filed Critical Beijing Boln Software Ltd By Share Ltd
Priority to CN201910778864.9A priority Critical patent/CN110515715A/zh
Publication of CN110515715A publication Critical patent/CN110515715A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种基于线程池的任务处理方法及装置,所述方法包括:在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;当确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。本发明实施例提供的基于线程池的任务处理方法及装置,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。

Description

基于线程池的任务处理方法及装置
技术领域
本发明涉及信息处理技术领域,尤其涉及一种基于线程池的任务处理方法及装置。
背景技术
在网络环境中,为了保证服务响应速度,服务器处理网络请求时,往往会开启线程去对网络请求进行并发任务处理。然而线程如果开启过多,机器可能会不堪重负,甚至瘫痪。因此服务器往往采用线程池技术来处理网络请求。线程池一般会有一个最大线程数的设定,用来定义线程池最大的并发数,当同时处理的任务把线程池线程占满时,新的任务不会再次触发新的线程的建立,而是进入任务队列中。
目前线程池技术存在一个缺陷,当线程池中线程数达到最大数量且被任务占满时,新的任务只能等待这些任务处理结束才能被处理。这个会导致紧急的任务无法被及时处理,如果普通的任务由于死锁等原因永远不释放线程池线程,紧急任务将会永远得不到处理。这会导致服务器处于僵死状态,如果不想等待直接重启服务器,可能会导致之前的正常任务处理失败引发业务异常。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于线程池的任务处理方法及装置。
本发明实施例提供一种基于线程池的任务处理方法,包括:
在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
当确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
可选地,还包括:
在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
当确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。
可选地,所述确定所有任务中存在级别类型为第一级别的任务,包括:
对所有任务各对应的消息进行解析,获取各消息标志位上的信息;
当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息。
可选地,所述第一线程集中的线程数不超过预设的最大线程数,所述第一线程集和所述第二线程集中所建所有线程占有资源总量不超过服务器资源总量。
本发明实施例提供一种基于线程池的任务处理装置,包括:
第一获取模块,用于在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
第一处理模块,用于确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
可选地,还包括:
第二获取模块,用于在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
第二处理模块,用于确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。
可选地,所述第一处理模块具体用于:
对所有任务各对应的消息进行解析,获取各消息标志位上的信息;当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息。
可选地,所述第一线程集中的线程数不超过预设的最大线程数,所述第一线程集和所述第二线程集中所建所有线程占有资源总量不超过服务器资源总量。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述基于线程池的任务处理方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述基于线程池的任务处理方法的步骤。
本发明实施例提供的基于线程池的任务处理方法及装置,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于线程池的任务处理方法实施例流程图;
图2为本发明基于线程池的任务处理方法实施例流程图;
图3为本发明基于线程池的任务处理方法实施例流程图;
图4为本发明基于线程池的任务处理装置实施例结构图;
图5为本发明基于线程池的任务处理装置实施例结构图;
图6为本发明电子设备实施例结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在网络环境中,为了保证服务响应速度,服务器处理网络请求时,往往会开启线程去对网络请求进行并发任务处理。然而线程如果开启过多,机器可能会不堪重负,甚至瘫痪。因此服务器往往采用线程池技术来处理网络请求。目前线程池技术存在一个缺陷,当线程池中线程数达到最大数量且被任务占满时,新的任务只能等待这些任务处理结束才能被处理。这个会导致紧急的任务无法被及时处理,如果普通的任务由于死锁等原因永远不释放线程池线程,紧急任务将会永远得不到处理。这会导致服务器处于僵死状态,如果不想等待直接重启服务器,可能会导致之前的正常任务处理失败引发业务异常。
对此,本发明一实施例提供的一种基于线程池的任务处理方法,该方法所适用的线程池与目前线程池不同。该方法适用的线程池设置第一线程集和第二线程集,即将线程池中的所有线程进行划分,划分不同线程集。此种集合的划分主要是针对线程所处理的任务的优先级别所设置。在本发明实施例中,紧急任务为若耽搁处理会影响后续业务的任务。故为了避免出现目前紧急任务在线程池被任务占满后无法处理的情况,在线程池内设置专门处理紧急任务的线程集,即为第二线程集。此时,第二线程集中的线程仅可用来处理紧急任务。对应的,第一线程集中的线程即可以处理紧急任务,又可处理其他类型的任务。
在本发明实施例中,由于网络请求的业务类型的不同,会存在对优先级更为细化的区分,因此,可进一步在线程池中划分更多的线程集,不局限于上述的第一线程集和第二线程集。而上述的第一线程集和第二线程集仅仅是针对紧急任务来区分的,即第一线程集中的线程处理非紧急任务,第二线程集中线程处理紧急任务。
针对更为细化的线程集划分,如划分为三个线程集,集中的线程可分别处理普通任务、重要任务和紧急任务。而回到所述方案中,普通任务和重要任务属于非紧急任务之列。
对此,如图1所示,本发明实施例所述方法包括:
S11、在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
S12、当确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。
针对上述步骤,需要说明的是,在本发明实施例中,用于处理非紧急任务的第一线程集会存在最大线程数的设定。当第一线程集中的线程被任务占满,即不存在空闲线程。此时,后续进入的任务需在线程池中任务队列中排队等待处理。在本发明实施例中,为了防止任务队列中可能存在紧急任务也在等待处理,故服务器需获取线程池中任务队列中的所有任务,并分析任务队列中的所有任务是否存在级别类型为第一级别的任务。在这里,第一级别为所有级别类型中最高的类型,也就是说级别类型为第一级别的任务为本发明实施例所述的紧急任务。当确定所有任务中存在第一级别的任务,使其在第二线程集中的空闲线程上进行处理。在本发明实施例中,第二线程集中线程处理紧急任务。
另外,还需要说明的是,第二线程集的线程不设置最大线程数的设定,只有服务器资源够用,可对新进入的紧急任务建立新的线程进行处理。故所述第一线程集和所述第二线程集中所建所有线程占有资源总量不超过服务器资源总量。可以说,从另一方面,尽最大能力避免出现紧急任务在线程池被任务占满后无法处理的情况。
本发明实施例提供的一种基于线程池的任务处理方法,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
图2示出了本发明一实施例提供的一种基于线程池的任务处理方法,包括:
S21、在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
S22、当确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
S23、在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
S24、当确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。
针对步骤S21和步骤S22,这些步骤与上述步骤S11和步骤S12在原理上相同,在此不再赘述。
针对步骤S23和步骤S24,需要说明的是,在本发明实施例中,当第一线程集中的线程未被任务占满,即存在空闲线程。此时,后续进入的任务需在线程池中任务队列中排队等待处理。服务器会获取线程池中任务队列中排在最前位的任务,分析该任务是否为级别类型为第一级别的任务。当确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。也就是说,当第一线程集中的线程未被任务占满,此时,第一级别的任务不会在第二线程集中的线程进行处理。在本发明实施例中,第二线程集的设置仅仅为了在第一线程集中的线程被任务占满能够及时去处理等待的紧急任务。因此,当确定排在最前位的任务为非第一级别的其他级别类型的任务时,也将排在最前位的任务在第一线程集中的空闲线程上进行处理。
另外,为了更细化的线程划分,如划分为三个线程集,集中的线程可分别处理普通任务、重要任务和紧急任务。此时,处理普通任务的线程集可处理普通任务、重要任务和紧急任务;处理重要任务的线程集可处理重要任务和紧急任务;处理紧急任务的线程集仅处理紧急任务。
本发明实施例提供的一种基于线程池的任务处理方法,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
图3示出了本发明一实施例提供的一种基于线程池的任务处理方法,包括:
S31、在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
S32、对所有任务各对应的消息进行解析,获取各消息标志位上的信息;
S33、当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息;
S34、将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。
针对步骤S31,该步骤与上述步骤S11在原理上相同,在此不再赘述。
针对步骤S32-步骤S34,需要说明的是,在本发明实施例中,在配置前期,服务器会对预设类型的网络请求进行并发任务处理。当网络请求不符合预设类型时,服务器会拒绝对其进行并发任务处理。如类型为CORBA(公共对象请求代理体系结构)的网络请求,可具体通过CORBA对对应的网络请求进行并发任务处理。
在本发明实施例中,在获取到线程池中任务队列中的所有任务,对所有任务各对应的消息进行解析,获取各消息标志位上的信息。在这里,标志位为消息中设置的能够区分级别类型的信息区域。当所述标志位上信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息。在本实施例中,通过设置标志位信息,能够快速判断任务的级别,做到快速区分紧急任务,为及时处理等待的紧急任务做出依据。
将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。
本发明实施例提供的一种基于线程池的任务处理方法,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
图4示出了本发明一实施例提供的一种基于线程池的任务处理装置,包括第一获取模块41和第一处理模块42,其中:
第一获取模块41,用于在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
第一处理模块42,用于确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能单元。
本发明实施例提供的一种基于线程池的任务处理装置,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
图5示出了本发明一实施例提供的一种基于线程池的任务处理装置,包括第一获取模块41、第一处理模块42、第二获取模块51和第二处理模块52,其中:
第一获取模块41,用于在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
第一处理模块42,用于确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
第二获取模块51,用于在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
第二处理模块52,用于确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理;当确定排在最前位的任务为非第一级别的其他级别类型的任务时,也将排在最前位的任务在第一线程集中的空闲线程上进行处理。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能单元。
本发明实施例提供的一种基于线程池的任务处理装置,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
本发明一实施例提供一种基于线程池的任务处理装置,包括第一获取模块和第一处理模块,其中:
第一获取模块,用于在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
第一处理模块,用于对所有任务各对应的消息进行解析,获取各消息标志位上的信息;当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息;将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能单元。
本发明实施例提供的一种基于线程池的任务处理装置,通过在线程池中划分专门处理紧急任务的线程集,当在其他线程集中线程被任务占满的情况下,能够及时对处于排队等待处理的紧急任务进行处理,保证紧急任务处理的及时有效性。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)61、通信接口(Communications Interface)62、存储器(memory)63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信。处理器61可以调用存储器63中的逻辑指令,以执行如下方法:在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;在确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。
此外,上述的存储器63中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于线程池的任务处理方法,例如包括:在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;在确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于线程池的任务处理方法,其特征在于,包括:
在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
当确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
2.根据权利要求1所述的基于线程池的任务处理方法,其特征在于,还包括:
在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
当确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。
3.根据权利要求1所述的基于线程池的任务处理方法,其特征在于,所述确定所有任务中存在级别类型为第一级别的任务,包括:
对所有任务各对应的消息进行解析,获取各消息标志位上的信息;
当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息。
4.根据权利要求1、2或3所述的基于线程池的任务处理方法,其特征在于,所述第一线程集中的线程数不超过预设的最大线程数,所述第一线程集和所述第二线程集中所建所有线程占有资源总量不超过服务器资源总量。
5.一种基于线程池的任务处理装置,其特征在于,包括:
第一获取模块,用于在第一线程集中不存在空闲线程时,获取线程池中任务队列中的所有任务;
第一处理模块,用于确定所有任务中存在级别类型为第一级别的任务时,将所述任务在第二线程集中的空闲线程上进行处理,所述第一级别为所有级别类型中最高的类型;
其中,所述线程池设置第一线程集和第二线程集,所述第二线程集中的线程仅处理所述第一级别的任务。
6.根据权利要求5所述的基于线程池的任务处理装置,其特征在于,还包括:
第二获取模块,用于在所述第一线程集中存在空闲线程时,获取线程池中任务队列中排在最前位的任务;
第二处理模块,用于确定排在最前位的任务为第一级别的任务时,将排在最前位的任务在第一线程集中的空闲线程上进行处理。
7.根据权利要求5所述的基于线程池的任务处理装置,其特征在于,所述第一处理模块具体用于:
对所有任务各对应的消息进行解析,获取各消息标志位上的信息;当所述信息为第一标志类型时,确定对应消息对应的任务为第一级别的任务,所述第一标志类型为用于判断为第一级别的信息。
8.根据权利要求5、6或7所述的基于线程池的任务处理装置,其特征在于,所述第一线程集中的线程数不超过预设的最大线程数,所述第一线程集和所述第二线程集中所建所有线程占有资源总量不超过服务器资源总量。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述基于线程池的任务处理方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项权利要求所述基于线程池的任务处理方法的步骤。
CN201910778864.9A 2019-08-22 2019-08-22 基于线程池的任务处理方法及装置 Pending CN110515715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910778864.9A CN110515715A (zh) 2019-08-22 2019-08-22 基于线程池的任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910778864.9A CN110515715A (zh) 2019-08-22 2019-08-22 基于线程池的任务处理方法及装置

Publications (1)

Publication Number Publication Date
CN110515715A true CN110515715A (zh) 2019-11-29

Family

ID=68627267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910778864.9A Pending CN110515715A (zh) 2019-08-22 2019-08-22 基于线程池的任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN110515715A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782295A (zh) * 2020-06-29 2020-10-16 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质
CN111857865A (zh) * 2020-06-28 2020-10-30 珠海豹趣科技有限公司 一种事件型任务的处理方法、装置、电子设备及存储介质
CN111880915A (zh) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 一种线程任务的处理方法、装置、设备及存储介质
CN115037702A (zh) * 2022-05-23 2022-09-09 北京梧桐车联科技有限责任公司 报文分发、数据发送方法及设备
CN117524029A (zh) * 2024-01-05 2024-02-06 武汉精立电子技术有限公司 一种测试信号生成系统和面板检测设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150135183A1 (en) * 2013-11-12 2015-05-14 Oxide Interactive, LLC Method and system of a hierarchical task scheduler for a multi-thread system
CN106020954A (zh) * 2016-05-13 2016-10-12 深圳市永兴元科技有限公司 线程管理方法及装置
CN106095590A (zh) * 2016-07-21 2016-11-09 联动优势科技有限公司 一种基于线程池的任务分配方法及装置
CN110046038A (zh) * 2019-03-12 2019-07-23 平安普惠企业管理有限公司 一种基于线程池的任务处理方法及装置
CN111782295A (zh) * 2020-06-29 2020-10-16 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150135183A1 (en) * 2013-11-12 2015-05-14 Oxide Interactive, LLC Method and system of a hierarchical task scheduler for a multi-thread system
CN106020954A (zh) * 2016-05-13 2016-10-12 深圳市永兴元科技有限公司 线程管理方法及装置
CN106095590A (zh) * 2016-07-21 2016-11-09 联动优势科技有限公司 一种基于线程池的任务分配方法及装置
CN110046038A (zh) * 2019-03-12 2019-07-23 平安普惠企业管理有限公司 一种基于线程池的任务处理方法及装置
CN111782295A (zh) * 2020-06-29 2020-10-16 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857865A (zh) * 2020-06-28 2020-10-30 珠海豹趣科技有限公司 一种事件型任务的处理方法、装置、电子设备及存储介质
CN111782295A (zh) * 2020-06-29 2020-10-16 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质
CN111782295B (zh) * 2020-06-29 2023-08-29 珠海豹趣科技有限公司 一种应用程序的运行方法、装置、电子设备及存储介质
CN111880915A (zh) * 2020-07-24 2020-11-03 北京浪潮数据技术有限公司 一种线程任务的处理方法、装置、设备及存储介质
CN111880915B (zh) * 2020-07-24 2023-07-21 北京浪潮数据技术有限公司 一种线程任务的处理方法、装置、设备及存储介质
CN115037702A (zh) * 2022-05-23 2022-09-09 北京梧桐车联科技有限责任公司 报文分发、数据发送方法及设备
CN115037702B (zh) * 2022-05-23 2024-04-12 北京梧桐车联科技有限责任公司 报文分发、数据发送方法及设备
CN117524029A (zh) * 2024-01-05 2024-02-06 武汉精立电子技术有限公司 一种测试信号生成系统和面板检测设备

Similar Documents

Publication Publication Date Title
CN110515715A (zh) 基于线程池的任务处理方法及装置
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
TWI234369B (en) System and method for the allocation of grid computing workload to network workstations
US9727372B2 (en) Scheduling computer jobs for execution
CN110727512A (zh) 集群资源调度方法、装置、设备及储存介质
EP2503733B1 (en) Data collecting method, data collecting apparatus and network management device
US20210248469A1 (en) Method and apparatus for scheduling deep learning reasoning engines, device, and medium
CN111459659A (zh) 数据处理方法、装置、调度服务器及介质
CN106557369A (zh) 一种多线程的管理方法及系统
CN104598298A (zh) 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
Maruf et al. Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems
US9128754B2 (en) Resource starvation management in a computer system
Huh et al. Cross‐layer resource control and scheduling for improving interactivity in Android
CN115951974A (zh) Gpu虚拟机的管理方法、系统、设备和介质
CN113391911B (zh) 一种大数据资源动态调度方法、装置和设备
CN111209112A (zh) 一种异常处理方法及装置
CN112860401B (zh) 任务调度方法、装置、电子设备和存储介质
CN114153635A (zh) 消息处理方法、装置、存储介质及计算机设备
CN116627615A (zh) 一种任务处理方法、装置、电子设备和存储介质
Sommer et al. Operating system extensions for dynamic real-time applications
CN113642836A (zh) 回调事件的处理方法、装置、计算机设备及存储介质
CN115904644A (zh) 任务调度方法、电子设备和计算机程序产品
CN113572701A (zh) 服务接口流控方法、装置、设备及存储介质
CN111831412A (zh) 中断处理方法、装置、存储介质及电子设备
EP4191413A1 (en) Message management method, device, and serverless system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191129