CN111880915B - 一种线程任务的处理方法、装置、设备及存储介质 - Google Patents
一种线程任务的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111880915B CN111880915B CN202010724217.2A CN202010724217A CN111880915B CN 111880915 B CN111880915 B CN 111880915B CN 202010724217 A CN202010724217 A CN 202010724217A CN 111880915 B CN111880915 B CN 111880915B
- Authority
- CN
- China
- Prior art keywords
- type
- thread
- processing
- task
- thread task
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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为本发明实施例提供的一种线程任务的处理设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的核心是提供一种线程任务的处理方法,能够提高处理线程任务的高效性,相对保障系统的稳定性;本发明的另一核心是提供一种线程任务的处理装置、设备及计算机可读存储介质,均具有上述有益效果。
为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种线程任务的处理方法的流程图。如图1所示,一种线程任务的处理方法包括:
S10:预先根据各线程任务对系统运行性能的影响程度,为各线程任务设置对应的任务类型;其中,任务类型包括第一类型线程任务和第二类型线程任务,且第一类型线程任务对系统运行性能的影响程度低于第二类型线程任务对系统运行性能的影响程度;
S20:在对第一类型线程任务的处理时长达到对应的第一时间阈值时,判断当前是否存在第二类型线程任务;
S30:若是,则将第一类型线程任务设置于处理等待队列中,并处理第二类型线程任务。
在实际操作中,首先需要确定出当前处理的线程任务的任务类型,因此需要预先设置确定线程任务的任务类型的确定规则。
具体的,预先根据各线程任务对系统运行性能的影响程度,将各线程任务划分为对应的任务类型,具体包括第一类型线程任务和第二类型线程任务。在实际操作中,第一类型线程任务为可以延期执行,不对会对系统正常运行构成威胁的非关键任务,例如日志读写,非必要的状态获取、上报等;第二类型线程任务是指系统运行过程中,必须及时处理的、延时处理会影响到系统正常运行的关键任务,即第一类型线程任务对系统运行性能的影响程度低于第二类型线程任务对系统运行性能的影响程度;并且,由于第一线程任务对系统运行性能的影响程度相对较小,因此为第一类型线程任务设置第一时间阈值,即处理第一类型线程任务的最长处理时间。
确定出当前处理的线程任务的任务类型为第一类型线程任务时,需要进一步获取对该第一类型线程任务的处理时长,并判断该处理时长是否达到第一类型线程任务的第一时间阈值,若达到,则表示当前处理第一类型线程任务的时间过长;此时,需要进一步判断当前是否存在第二类型线程任务;若存在,则需要切换当前处理的线程任务,将第一类型线程任务设置于处理等待队列中,并处理第二类型线程任务。需要说明的是,本实施例中,具体可以是利用Poll函数将当前处理的第一类型线程任务挂载到对应的处理等待队列中。
若不存在第二类型线程任务,则判断处理等待队列中是否存在其他的第一类型线程任务,若存在,则将当前处理的第一类型线程任务设置于处理等待队列中,并从处理等待队列中的其他的第一类型线程任务中选择第一类型线程任务并进行处理;若此时不存在其他的第一类型线程任务或第二类型线程任务,则继续处理当前处理的第一类型线程任务。
需要说明的是,在处理完当前的第二类型线程任务之后,首先判断是否存在其他的第二类型线程任务,若存在,则继续优先处理第二类型线程任务;若不存在,则判断处理等待队列中是否存在第一类型线程任务;若存在,则从处理等待队列中选择第一类型线程任务并进行处理,若不存在,则结束本次线程任务。
本发明实施例提供的一种线程任务的处理方法,包括:预先根据各线程任务对系统运行性能的影响程度,为各线程任务设置对应的任务类型;其中,任务类型包括第一类型线程任务和第二类型线程任务,且第一类型线程任务对系统运行性能的影响程度低于第二类型线程任务对系统运行性能的影响程度;在对第一类型线程任务的处理时长达到对应的第一时间阈值时,判断当前是否存在第二类型线程任务;若是,则将第一类型线程任务设置于处理等待队列中,并处理第二类型线程任务。可见,本方法是在处理第一类型线程任务的处理时长达到对应的第一时间阈值时,优先处理对系统运行性能的影响程度更高的第二类型线程任务,以避免由于第一线程任务阻塞导致系统处理线程任务的延时,因此能够相对保障线程中第二类型线程任务的快速高效地运行,从而降低线程的超时时间,提高系统处理线程任务的实时性和高效性,相对保障系统的稳定性。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,处理等待队列具体为多个,各处理等待队列均设置有对应的优先级;
对应的,将第一类型线程任务设置于处理等待队列中的过程,具体包括:
获取第一类型线程任务的第一优先级;
将第一类型线程任务设置于与第一优先级对应的处理等待队列中。
具体的,在本实施例中,处理等待队列为多个,且各处理等待队列均设置有对应的优先级;
在需要将第一类型线程任务设置于处理等待队列中时,需要将该第一线程任务设置于与其优先级对应的处理等待队列中。
具体的,首先获取第一类型线程任务的第一优先级;并确定出与第一优先级对应的处理等待队列,然后将第一类型线程任务设置于与第一优先级对应的处理等待队列中。即,将第一类型线程任务按照优先级的不同挂载到多级处理等待队列中对应的处理等待队列中等待下次处理。
对应的,在实际操作中,在需要从处理等待队列中选择第一类型线程任务进行处理时,具体是按照优先级从高到低的顺序轮询各处理等待队列,优先处理优先级高的处理等待队列中的第一类型线程任务。也就是说,在从处理等待队列中选择第一类型线程任务时,是根据处理等待队列的优先级顺序确定出对对应的第一类型线程任务进行处理的。
作为优选的实施方式,本实施例进一步包括:
分别为各处理等待队列设置对应的处理时间阈值;
对应的,从处理等待队列中重新选择第一类型线程任务并进行处理的过程,具体包括:
按照处理时间阈值轮询各处理等待队列,从处理等待队列中重新选择第一类型线程任务并进行处理。
具体的,在实际操作中,为了防止在多级处理等待队列中总是优先处理高优先级的处理等待队列中的第一类型线程任务而导致低优先级的处理等待队列中的第一类型线程任务饿死,因此,在本实施例中,进一步分别为各处理等待队列设置对应的处理时间阈值,并且,各处理等待队列对应的处理时间阈值可以是相同的,也可以是根据优先级的不同为各处理等待队列设置不同的处理时间阈值;然后,在对第一类型线程任务的处理时长达到对应的第一时间阈值,且当前不存在第二类型线程任务时,从处理等待队列中重新选择第一类型线程任务并进行处理的过程,具体为按照处理时间阈值轮询各处理等待队列,从处理等待队列中重新选择第一类型线程任务并进行处理。
在为每个不同优先级的处理等待队列都设定了对应的处理时间阈值后,例如,在处理第一级处理等待队列中的第一类型线程任务时,利用计时器开始计时,当达到与第一级处理等待队列对应的处理时间阈值后,则会处理第二级处理等待队列中的第一类型线程任务,依次类推,避免总是处理第一级处理等待队列中的第一类型线程任务。
如图2所示,为本发明实施例提供的另一种线程任务的处理方法的流程图。具体的,在从第一级处理等待队列中获取第一类型线程任务进行处理时,实时判断第一级处理等待队列的处理时长是否达到对应的处理时间阈值,以及判断第一级处理等待队列是否为空,若处理时长达到对应的处理时间阈值或者第一级处理等待队列为空,则继续处理第二级处理等待队列中的第一类型线程任务。
可见,本实施例的方法,能够均衡地处理等待队列中的各第一类型线程任务,相对保障能够有效地处理各第一类型线程任务。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,当第二类型线程任务有多个时,处理第二类型线程任务的过程,具体包括:
按照时间顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务。
具体的,在本实施例中,是进一步考虑到,在当前处理的第一类型线程任务的处理时长达到对应的第一时间阈值,且此时存在多个第二类型线程任务的情况,在本实施例中,优选地按照第二类型线程任务的时间先后顺序,优选选择先确定出的第二类型线程任务作为目标第二类型线程任务,并对该目标第二类型线程任务进行处理。
可见,本实施例中,通过按照时间顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务,因此能够及时有序地对各第二类型线程任务进行处理。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例中,当第二类型线程任务有多个时,处理第二类型线程任务的过程,具体包括:
按照优先级顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务。
具体的,在本实施例中,是进一步考虑到,在当前处理的第一类型线程任务的处理时长达到对应的第一时间阈值,且此时存在多个第二类型线程任务的情况,在本实施例中,优选地按照第二类型线程任务的优先级从高到低的顺序,优选选择优先级高的第二类型线程任务作为目标第二类型线程任务,并对该目标第二类型线程任务进行处理。
可见,本实施例中,通过按照优先级顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务,因此能够及时有序地对各第二类型线程任务进行处理。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例在在对第一类型线程任务的处理时长达到对应的第一时间阈值时,进一步包括:
发出对应的提示信息。
具体的,在本实施例中,是在判断出对第一类型线程任务的处理时长达到对应的第一时间阈值时,进一步触发提示装置发出对应的提示信息。需要说明的是,提示装置可以具体是蜂鸣器和/或指示灯和/或显示器,通过触发蜂鸣器/指示灯/显示器等提示装置发出对应的提示信息,如蜂鸣音/闪烁灯/显示文字或图像等,以直观地提示用户当前对第一类型线程任务的处理时间达到对应的第一时间阈值,需要切换当前处理的线程任务,从而能够进一步提升用户的使用体验。
在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,本实施例进一步包括:
获取处理第一类型线程任务的处理时长超过第一时间阈值的超时原因。
在本实施例中,是在判断出第一类型线程任务的处理时长超过第一时间阈值之后,进一步通过采集处理第一类型线程任务的运行数据,来确定出处理第一类型线程任务的处理时长超过第一时间阈值的超时原因,然后可以进一步将该超时原因进行显示以反馈给用户。
更进一步的,可以根据预先设置的超时原因与解决策略的对应关系,查找出与当前的超时原因对应的目标解决策略,并利用该目标解决策略对第一类型线程任务进行调整或者对处理第一类型线程任务的处理方式进行调整,以提高处理第一线程任务的效率。
上文对于本发明提供的一种线程任务的处理方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的线程任务的处理装置、设备及计算机可读存储介质,由于装置、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本发明实施例提供的一种线程任务的处理装置的结构图,如图3所示,一种线程任务的处理装置包括:
设置模块31,用于预先根据各线程任务对系统运行性能的影响程度,为各线程任务设置对应的任务类型;其中,任务类型包括第一类型线程任务和第二类型线程任务,且第一类型线程任务对系统运行性能的影响程度低于第二类型线程任务对系统运行性能的影响程度;
判断模块32,用于在对第一类型线程任务的处理时长达到对应的第一时间阈值时,判断当前是否存在第二类型线程任务;若是,则调用执行模块;
执行模块33,用于将第一类型线程任务设置于处理等待队列中,并处理第二类型线程任务。
本发明实施例提供的线程任务的处理装置,具有上述线程任务的处理方法的有益效果。
作为优选的实施方式,处理等待队列具体为多个,各处理等待队列均设置有对应的优先级;
对应的,执行模块具体包括:
获取子模块,用于获取第一类型线程任务的第一优先级;
设置子模块,用于将第一类型线程任务设置于与第一优先级对应的处理等待队列中。
作为优选的实施方式,一种线程任务的处理装置进一步包括:
阈值设置模块,用于分别为各处理等待队列设置对应的处理时间阈值;
轮询处理模块,用于在对第一类型线程任务的处理时长达到对应的第一时间阈值,且当前不存在第二类型线程任务时,按照处理时间阈值轮询各处理等待队列,从处理等待队列中重新选择第一类型线程任务并进行处理。
作为优选的实施方式,第二类型线程任务有多个时,执行模块具体包括:
第一执行子模块,用于按照时间顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务。
作为优选的实施方式,当第二类型线程任务有多个时,执行模块具体包括:
第二执行子模块,用于按照优先级顺序从多个第二类型线程任务中确定出目标第二类型线程任务,并处理目标第二类型线程任务。
作为优选的实施方式,一种线程任务的处理装置进一步包括:
提示模块,用于在在对第一类型线程任务的处理时长达到对应的第一时间阈值时,发出对应的提示信息。
作为优选的实施方式,一种线程任务的处理装置进一步包括:
原因获取模块,用于获取处理第一类型线程任务的处理时长超过第一时间阈值的超时原因。
图4为本发明实施例提供的一种线程任务的处理设备的结构图,如图4所示,一种线程任务的处理设备包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序时实现如上述线程任务的处理方法的步骤。
本发明实施例提供的线程任务的处理设备,具有上述线程任务的处理方法的有益效果。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述线程任务的处理方法的步骤。
本发明实施例提供的计算机可读存储介质,具有上述线程任务的处理方法的有益效果。
以上对本发明所提供的线程任务的处理方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (9)
1.一种线程任务的处理方法,其特征在于,包括:
预先根据各线程任务对系统运行性能的影响程度,为各所述线程任务设置对应的任务类型;其中,任务类型包括第一类型线程任务和第二类型线程任务,且所述第一类型线程任务对所述系统运行性能的影响程度低于所述第二类型线程任务对所述系统运行性能的影响程度;
在对所述第一类型线程任务的处理时长达到对应的第一时间阈值时,判断当前是否存在所述第二类型线程任务;
若是,则获取所述第一类型线程任务的第一优先级;
将所述第一类型线程任务设置于与所述第一优先级对应的处理等待队列中,并处理所述第二类型线程任务;其中,所述处理等待队列具体为多个,各所述处理等待队列均设置有对应的优先级;
若不存在所述第二类型线程任务,则判断所述处理等待队列中是否存在其他的所述第一类型线程任务,若存在,则将当前处理的所述第一类型线程任务设置于所述处理等待队列中,并从所述处理等待队列中的其他的所述第一类型线程任务中选择所述第一类型线程任务并进行处理;若此时不存在其他的所述第一类型线程任务或所述第二类型线程任务,则继续处理当前处理的所述第一类型线程任务。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
分别为各所述处理等待队列设置对应的处理时间阈值;
在对所述第一类型线程任务的处理时长达到对应的第一时间阈值,且当前不存在所述第二类型线程任务时,按照所述处理时间阈值轮询各所述处理等待队列,从所述处理等待队列中重新选择第一类型线程任务并进行处理。
3.根据权利要求1所述的方法,其特征在于,当所述第二类型线程任务有多个时,所述处理所述第二类型线程任务的过程,具体包括:
按照时间顺序从多个所述第二类型线程任务中确定出目标第二类型线程任务,并处理所述目标第二类型线程任务。
4.根据权利要求1所述的方法,其特征在于,当所述第二类型线程任务有多个时,所述处理所述第二类型线程任务的过程,具体包括:
按照优先级顺序从多个所述第二类型线程任务中确定出目标第二类型线程任务,并处理所述目标第二类型线程任务。
5.根据权利要求1所述的方法,其特征在于,在所述在对所述第一类型线程任务的处理时长达到对应的第一时间阈值时,进一步包括:
发出对应的提示信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,进一步包括:
获取处理所述第一类型线程任务的处理时长超过第一时间阈值的超时原因。
7.一种线程任务的处理装置,其特征在于,包括:
设置模块,用于预先根据各线程任务对系统运行性能的影响程度,为各所述线程任务设置对应的任务类型;其中,任务类型包括第一类型线程任务和第二类型线程任务,且所述第一类型线程任务对所述系统运行性能的影响程度低于所述第二类型线程任务对所述系统运行性能的影响程度;
判断模块,用于在对所述第一类型线程任务的处理时长达到对应的第一时间阈值时,判断当前是否存在所述第二类型线程任务;若是,则调用执行模块;
所述执行模块,用于将所述第一类型线程任务设置于处理等待队列中,并处理所述第二类型线程任务;
所述执行模块具体包括:
获取子模块,用于获取所述第一类型线程任务的第一优先级;
设置子模块,用于将所述第一类型线程任务设置于与所述第一优先级对应的所述处理等待队列中;
其中,所述处理等待队列具体为多个,各所述处理等待队列均设置有对应的优先级;
若不存在所述第二类型线程任务,所述执行模块还用于:判断所述处理等待队列中是否存在其他的所述第一类型线程任务,若存在,则将当前处理的所述第一类型线程任务设置于所述处理等待队列中,并从所述处理等待队列中的其他的所述第一类型线程任务中选择所述第一类型线程任务并进行处理;若此时不存在其他的所述第一类型线程任务或所述第二类型线程任务,则继续处理当前处理的所述第一类型线程任务。
8.一种线程任务的处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的线程任务的处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的线程任务的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724217.2A CN111880915B (zh) | 2020-07-24 | 2020-07-24 | 一种线程任务的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010724217.2A CN111880915B (zh) | 2020-07-24 | 2020-07-24 | 一种线程任务的处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111880915A CN111880915A (zh) | 2020-11-03 |
CN111880915B true CN111880915B (zh) | 2023-07-21 |
Family
ID=73200643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010724217.2A Active CN111880915B (zh) | 2020-07-24 | 2020-07-24 | 一种线程任务的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880915B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021425A (en) * | 1992-04-03 | 2000-02-01 | International Business Machines Corporation | System and method for optimizing dispatch latency of tasks in a data processing system |
US7401112B1 (en) * | 1999-05-26 | 2008-07-15 | Aspect Communication Corporation | Methods and apparatus for executing a transaction task within a transaction processing system employing symmetric multiprocessors |
EP3364296A1 (en) * | 2017-02-20 | 2018-08-22 | Paris-Lodron-Universität Salzburg | Simulating execution-time variations and scheduling in a block-oriented simulation system |
CN108509260A (zh) * | 2018-01-31 | 2018-09-07 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN110413394A (zh) * | 2019-07-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种bmc任务处理方法、装置、系统及可读存储介质 |
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4145735A (en) * | 1977-02-02 | 1979-03-20 | Nippon Steel Corporation | Monitor for priority level of task in information processing system |
GB0112571D0 (en) * | 2001-05-24 | 2001-07-18 | Ibm | Priority inversion in computer system supporting multiple processes |
CN101290668B (zh) * | 2008-06-16 | 2011-08-17 | 中国移动通信集团湖北有限公司 | 一种分时作业动态调度方法和装置 |
US8713571B2 (en) * | 2010-02-17 | 2014-04-29 | Microsoft Corporation | Asynchronous task execution |
US9286116B2 (en) * | 2012-07-06 | 2016-03-15 | Microsoft Technology Licensing, Llc | Multiple core real-time task execution |
US10140157B2 (en) * | 2014-05-29 | 2018-11-27 | Apple Inc. | Multiple process scheduling of threads using process queues |
CN106855824B (zh) * | 2015-12-09 | 2020-02-28 | 北京金山安全软件有限公司 | 一种任务停止方法、装置及电子设备 |
-
2020
- 2020-07-24 CN CN202010724217.2A patent/CN111880915B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021425A (en) * | 1992-04-03 | 2000-02-01 | International Business Machines Corporation | System and method for optimizing dispatch latency of tasks in a data processing system |
US7401112B1 (en) * | 1999-05-26 | 2008-07-15 | Aspect Communication Corporation | Methods and apparatus for executing a transaction task within a transaction processing system employing symmetric multiprocessors |
EP3364296A1 (en) * | 2017-02-20 | 2018-08-22 | Paris-Lodron-Universität Salzburg | Simulating execution-time variations and scheduling in a block-oriented simulation system |
CN108509260A (zh) * | 2018-01-31 | 2018-09-07 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN110413394A (zh) * | 2019-07-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种bmc任务处理方法、装置、系统及可读存储介质 |
CN110515713A (zh) * | 2019-08-13 | 2019-11-29 | 北京安盟信息技术股份有限公司 | 一种任务调度方法、设备和计算机存储介质 |
CN110515715A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于线程池的任务处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
端到端实时CORBA系统调度模型及其可调度性研究;沈卓炜\n\n\n\n,谢俊清\n\n\n\n,汪芸;计算机学报(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111880915A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106557369B (zh) | 一种多线程的管理方法及系统 | |
CN101582786B (zh) | 一种及时消息及时处理的方法及装置 | |
CN109656733B (zh) | 智能调度多ocr识别引擎的方法及设备 | |
CN107766160B (zh) | 队列消息处理方法及终端设备 | |
CN111061556A (zh) | 执行优先级任务的优化方法、装置、计算机设备及介质 | |
CN112395067A (zh) | 任务调度方法、系统、设备及介质 | |
CN114489867B (zh) | 算法模块调度方法、算法模块调度装置以及可读存储介质 | |
CN112579263A (zh) | 任务执行方法及装置、存储介质及电子设备 | |
CN111240864A (zh) | 异步任务处理方法、装置、设备及计算机可读存储介质 | |
CN112463314A (zh) | 异步队列的处理方法、装置、电子设备及存储介质 | |
CN114461385A (zh) | 线程池调度方法、装置、设备以及可读存储介质 | |
CN110413398B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN113660173A (zh) | 一种流量控制方法、装置、计算机设备及存储介质 | |
CN111880915B (zh) | 一种线程任务的处理方法、装置、设备及存储介质 | |
CN106453029A (zh) | 通知消息处理方法及装置 | |
CN111597056B (zh) | 一种分布式调度方法、系统、存储介质和设备 | |
CN107783843B (zh) | 一种云数据的处理方法及装置 | |
CN116089033A (zh) | 一种基于多级异构动态队列的任务调度方法 | |
CN115981893A (zh) | 消息队列任务处理方法、装置、服务器及存储介质 | |
CN115495249A (zh) | 一种云端集群的任务执行方法 | |
WO2020067872A1 (en) | A method of prioritizing message handling in a publisher/subscriber broker | |
EP3687133A1 (en) | System and method for synchronization of media objects between devices operating in a multiroom system | |
CN115718652A (zh) | 一种控制调度算法及可视化监控的方法及装置 | |
CN116069461A (zh) | 动态分片的自适应任务调度方法和系统 | |
CN115766612A (zh) | 一种基于权重转换概率的调度方法及相应的装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |