CN105912386A - 线程管理方法及系统 - Google Patents

线程管理方法及系统 Download PDF

Info

Publication number
CN105912386A
CN105912386A CN201610288572.3A CN201610288572A CN105912386A CN 105912386 A CN105912386 A CN 105912386A CN 201610288572 A CN201610288572 A CN 201610288572A CN 105912386 A CN105912386 A CN 105912386A
Authority
CN
China
Prior art keywords
thread
task
state
managing listings
module
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
CN201610288572.3A
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.)
Shenzhen Longrise Technology Co Ltd
Original Assignee
Shenzhen Longrise Technology Co 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 Shenzhen Longrise Technology Co Ltd filed Critical Shenzhen Longrise Technology Co Ltd
Priority to CN201610288572.3A priority Critical patent/CN105912386A/zh
Publication of CN105912386A publication Critical patent/CN105912386A/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/466Transaction processing
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种线程管理方法,该方法包括:若接收到任务处理请求,则确定任务处理请求中包含的第一任务及第一任务的任务类型;利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理任务类型的第一线程,线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;若存在第一线程,则将第一任务分配给第一线程,由第一线程处理第一任务;在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。本发明还公开了一种线程管理系统,通过利用线程状态管理列表对线程进行管理,使得能够实现线程的有序管理及任务的快速分配。

Description

线程管理方法及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种线程管理方法及系统。
背景技术
随着计算机技术的飞速发展,云计算逐步成为业界的聚焦点,各大企业已经加入了云计算的研究领域,并将云计算服务投入到科学、文化、教育、卫生、政府、电子商务、高性能计算、物联网等多个领域进行使用。
目前,云数据中心管理平台通过建立线程池,以保证在接收到任务时,将该任务派发到该线程池中执行。
线程(thread),有时被称为轻量级进程(Light Weight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以建立和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有空闲、阻塞和繁忙三种基本状态。
在单个程序中经常会同时运行多个线程完成不同的任务,称为多线程,在系统开发过程中经常会用到多线程处理不同的任务事件,然而,随着线程数量的增多,线程管理容易混乱。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种线程管理方法及系统,旨在解决现有技术中随着线程数量的增多,线程管理容易混乱的技术问题。
为实现上述目的,本发明提供的一种线程管理方法,所述方法包括:
若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;
利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;
在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。
优选地,所述方法还包括:
当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。
优选地,所述方法还包括:
若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;
若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;
将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;
将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。
优选地,所述方法还包括:
若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。
优选地,所述线程状态管理列表中还包括线程上一次执行任务的时间;
则所述方法还包括:
若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。
为实现上述目的,本发明还提供一种线程管理系统,所述系统包括:
第一确定模块,用于若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;
第二确定模块,用于利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
第一分配模块,用于若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;
修改模块,用于在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。
优选地,所述修改模块还用于:
当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。
优选地,所述系统还包括:
第三确定模块,用于若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;
建立模块,用于若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;
第二分配模块,用于将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;
添加模块,用于将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。
优选地,所述系统还包括:
缓存模块,用于若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。
优选地,所述线程状态管理列表中还包括线程上一次执行任务的时间;
则所述系统还包括:
销毁模块,用于若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。
本发明提供一种线程管理方法,该方法中:若接收到的任务处理请求,则确定该任务处理请求中包含的第一任务及该第一任务的任务类型,并利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理该任务类型的第一线程,该线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;且若存在第一线程,则将该第一任务分配给第一线程,由第一线程处理该第一任务,且在线程状态管理列表中将该第一线程的状态由空闲状态修改为繁忙状态。通过利用线程状态管理列表对线程进行统一管理,使得能够实现任务分配及线程的有序管理。
附图说明
图1为本发明第一实施例中线程管理方法的流程示意图;
图2为图1所示第一实施例中线程管理方法的追加步骤的细化流程示意图;
图3为本发明第二实施例中线程管理系统的功能模块示意图;
图4为本发明第三实施例中线程管理系统的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于现有技术中随着线程数量的增多,任务分配变得复杂,且线程管理也容易混乱。
请参阅图1,为本发明第一实施例中线程管理方法的流程示意图,该线程管理方法包括:
步骤101、若接收到任务处理请求,则确定任务处理请求中包含的第一任务及第一任务的任务类型;
步骤102、利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理任务类型的第一线程,线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
步骤103、若存在第一线程,则将第一任务分配给第一线程,由第一线程处理第一任务;
步骤104、在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。
在本发明实施例中,线程管理系统能够实时对已有的线程池中的线程进行监测,并建立线程状态管理列表,在该线程状态管理列表中包含线程的标识、该线程能够处理的任务类型及当前状态。且线程管理系统能够基于监测到的线程的状态变化修改该线程在线程状态管理列表中的状态,使得该线程状态管理列表能够实时反映线程池中的各线程的状态。
其中,线程状态管理列表中可以包括一个线程池中的线程,也可以包括多个线程池中的线程,在实际应用中根据具体的需要设置该线程状态管理列表的个数。
其中,线程的状态包括空闲状态、繁忙状态及阻塞状态。一个线程一次仅能处理一个任务,因此,在对一个空闲状态的线程分配任务之后,该线程将立即处理该任务,且该线程的状态也将由空闲状态转变为繁忙状态。其中,线程处于阻塞状态是指线程能够处理任务,但是存在某个条件组织它处理任务,且当线程处于阻塞状态时,线程管理系统将忽略该线程,即不为其分配任务,且也不会为该线程分配任何CPU时间,直到该线程进入空闲状态,才会为其分配任务。
其中,线程能够处理的任务类型包括特定的任务类型及无任务类型,若是无任务类型则表示该线程能够对任意类型的任务进行处理。
在本发明实施例中,若线程管理系统接收到任务处理请求,则将确定该任务处理请求中包含的第一任务及该第一任务的任务类型,且线程管理系统将根据第一任务的任务类型查找线程状态管理列表,确定在该线程状态管理列表中,是否存在处于空闲状态且能够处理该第一任务的任务类型的第一线程,且若存在第一线程,则将该第一任务分配给第一线程,由第一线程处理该第一任务,且在分配之后,线程管理系统将在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。通过利用线程状态管理列表实时管理各线程的状态,使得能够有效的实现线程的有序管理及快速有效的实现任务的分配。
进一步的,在图1所述第一实施例中,线程管理系统将实时监测各线程所处的状态,且线程管理系统还将执行以下步骤:
当监测到第一线程处理完第一任务,则在线程状态管理列表中将第一线程的状态由繁忙状态修改为空闲状态。
在本发明实施例中,线程管理系统在监测到第一线程处理完第一任务时,该第一线程将变为空闲状态,线程管理系统在线程状态管理列表中将第一线程的状态由繁忙状态修改为空闲状态,使得能够及时更新线程的状态。
基于图1所示第一实施例,请参阅图2,为本发明图1所示第一实施例中线程管理方法的追加步骤的流程示意图,包括:
步骤201、若不存在第一线程,则确定线程状态管理列表中已记录的线程的总个数;执行步骤202或203;
步骤202、若总个数大于或等于预先设置的数值,则将第一任务放入任务缓存列表中;
步骤203、若已记录的线程的总个数小于预先设置的数值,则建立第二线程,第二线程具备处理第一任务的任务类型的能力;
步骤204、将第一任务分配给第二线程,由第二线程处理第一任务;
步骤205、将第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中。
在本发明实施例中,线程管理系统在查找线程状态管理列表之后,若确定线程状态管理列表中不存在处于空闲状态且能够处理第一任务的任务类型的第一线程,线程管理系统将确定线程状态管理列表中已记录的线程的总个数,并判断该已记录的线程的总个数是否小于预先设置的数值。
若已记录的线程的总个数大于或等于预先设置的数值,则将该第一任务放入任务缓存列表中,具体的,可以基于任务的优先级确定该第一任务在任务缓存列表中的排列位置,且线程管理系统在监测到空闲线程时,都将从该任务缓存列表中按照顺序确定第一个该空闲线程能够处理的任务类型的任务,并将该任务分配给该空闲线程。
若已记录的线程的总个数小于预先设置的数值,则建立第二线程,且建立的第二线程具备处理第一任务的任务类型的能力,且将第一任务分配给该建立的第二线程,由该第二线程处理该第一任务。
在本发明实施例中,线程管理系统在建立第二线程之后,将该第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中。
在本发明实施例中,线程管理系统在确定不存在处于空闲状态且能够处理第一任务的第一线程时,将确定线程状态管理列表中已记录的线程的总个数,且在该总个数大于或等于预先设置的数值时,将第一任务放入任务缓存列表中,在该总个数小于预先设置的数值时,建立第二线程,且该第二线程具备处理第一任务的任务类型的能力,且将第一任务分配给第二线程,由第二线程处理该第一任务,并将第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中,使得能够基于线程状态管理列表中已记录的线程的总个数确定是否建立线程,能够有效的实现线程的管理及任务的分配。
进一步的,在本发明实施例中,为了避免建立的线程太多占用资源,线程管理系统还将执行以下步骤:
若检测到线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁第三线程。
在本发明实施例中,线程状态管理列表中还包括线程上一次执行任务的时间;即线程管理系统在每一次为线程分配任务之后,都将更新该线程执行任务的时间,且监测每一个线程上一次执行任务的时间距离当前时间之间的差值是否大于预先设置的时长。
且若存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁该第三线程,以节约系统资源。
请参阅图3,为本发明第二实施例中线程管理系统的功能模块的示意图,该系统包括:
第一确定模块301,用于若接收到任务处理请求,则确定任务处理请求中包含的第一任务及第一任务的任务类型;
第二确定模块302,用于利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理任务类型的第一线程,线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
第一分配模块303,用于若存在第一线程,则将第一任务分配给第一线程,由第一线程处理第一任务;
修改模块304,用于在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。
在本发明实施例中,线程管理系统能够实时对已有的线程池中的线程进行监测,并建立线程状态管理列表,在该线程状态管理列表中包含线程的标识、该线程能够处理的任务类型及当前状态。且线程管理系统能够基于监测到的线程的状态变化修改该线程在线程状态管理列表中的状态,使得该线程状态管理列表能够实时反映线程池中的各线程的状态。
其中,线程状态管理列表中可以包括一个线程池中的线程,也可以包括多个线程池中的线程,在实际应用中根据具体的需要设置该线程状态管理列表的个数。
其中,线程的状态包括空闲状态、繁忙状态及阻塞状态。一个线程一次仅能处理一个任务,因此,在对一个空闲状态的线程分配任务之后,该线程将立即处理该任务,且该线程的状态也将由空闲状态转变为繁忙状态。其中,线程处于阻塞状态是指线程能够处理任务,但是存在某个条件组织它处理任务,且当线程处于阻塞状态时,线程管理系统将忽略该线程,即不为其分配任务,且也不会为该线程分配任何CPU时间,直到该线程进入空闲状态,才会为其分配任务。
其中,线程能够处理的任务类型包括特定的任务类型及无任务类型,若是无任务类型则表示该线程能够对任意类型的任务进行处理。
在本发明实施例中,若线程管理系统接收到任务处理请求,则第一确定模块301将确定该任务处理请求中包含的第一任务及该第一任务的任务类型,且第二确定模块302将根据第一任务的任务类型查找线程状态管理列表,确定在该线程状态管理列表中,是否存在处于空闲状态且能够处理该第一任务的任务类型的第一线程,且若存在第一线程,则第一分配模块303将该第一任务分配给第一线程,由第一线程处理该第一任务,且在分配之后,修改模块304将在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。通过利用线程状态管理列表实时管理各线程的状态,使得能够有效的实现线程的有序管理及快速有效的实现任务的分配。
进一步的,图3所示第二实施例中的修改模块304还用于:
当监测到第一线程处理完第一任务,则在线程状态管理列表中将第一线程的状态由繁忙状态修改为空闲状态。
在本发明实施例中,线程管理系统在监测到第一线程处理完第一任务时,该第一线程将变为空闲状态,线程管理系统在线程状态管理列表中将第一线程的状态由繁忙状态修改为空闲状态,使得能够及时更新线程的状态。
请参阅图4,为本发明第三实施例中线程管理系统的功能模块示意图,该线程管理系统包括如图3所示第二实施例中的第一确定模块301、第二确定模块302、第一分配模块303、修改模块304,且与图3所示第二实施例中描述的内容相似,此次不做赘述。
在本发明实施例中,线程管理系统还包括:
第三确定模块401,用于若不存在第一线程,则确定线程状态管理列表中已记录的线程的总个数;
建立模块402,用于若已记录的线程的总个数小于预先设置的数值,则建立第二线程,第二线程具备处理第一任务的任务类型的能力;
第二分配模块403,用于将第一任务分配给第二线程,由第二线程处理第一任务;
添加模块404,用于将第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中。
进一步的,线程管理系统还包括:
缓存模块405,用于若总个数大于或等于预先设置的数值,则将第一任务放入任务缓存列表中。
在本发明实施例中,线程管理系统在查找线程状态管理列表之后,若确定线程状态管理列表中不存在处于空闲状态且能够处理第一任务的任务类型的第一线程,第三确定模块401将确定线程状态管理列表中已记录的线程的总个数,并判断该已记录的线程的总个数是否小于预先设置的数值。
若已记录的线程的总个数大于或等于预先设置的数值,则缓存模块405将该第一任务放入任务缓存列表中,具体的,可以基于任务的优先级确定该第一任务在任务缓存列表中的排列位置,且线程管理系统在监测到空闲线程时,都将从该任务缓存列表中按照顺序确定第一个该空闲线程能够处理的任务类型的任务,并将该任务分配给该空闲线程。
若已记录的线程的总个数小于预先设置的数值,则第二分配模块403建立第二线程,且建立的第二线程具备处理第一任务的任务类型的能力,且将第一任务分配给该建立的第二线程,由该第二线程处理该第一任务。
在本发明实施例中,在建立第二线程之后,添加模块404将该第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中。
进一步的,线程状态管理列表中还包括线程上一次执行任务的时间;
则线程管理系统还包括:
销毁模块406,用于若检测到线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁第三线程。
在本发明实施例中,线程状态管理列表中还包括线程上一次执行任务的时间;即线程管理系统在每一次为线程分配任务之后,都将更新该线程执行任务的时间,且监测每一个线程上一次执行任务的时间距离当前时间之间的差值是否大于预先设置的时长。且若存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁该第三线程,以节约系统资源。
在本发明实施例中,线程管理系统在确定不存在处于空闲状态且能够处理第一任务的第一线程时,将确定线程状态管理列表中已记录的线程的总个数,且在该总个数大于或等于预先设置的数值时,将第一任务放入任务缓存列表中,在该总个数小于预先设置的数值时,建立第二线程,且该第二线程具备处理第一任务的任务类型的能力,且将第一任务分配给第二线程,由第二线程处理该第一任务,并将第二线程的标识、处理的任务类型及当前状态添加至线程状态管理列表中,使得能够基于线程状态管理列表中已记录的线程的总个数确定是否建立线程,能够有效的实现线程的管理及任务的分配。且还可以基于线程状态管理列表确定需要销毁的线程,以节约系统资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种线程管理方法,其特征在于,所述方法包括:
若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;
利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;
在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;
若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;
将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;
将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述线程状态管理列表中还包括线程上一次执行任务的时间;
则所述方法还包括:
若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。
6.一种线程管理系统,其特征在于,所述系统包括:
第一确定模块,用于若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;
第二确定模块,用于利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;
第一分配模块,用于若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;
修改模块,用于在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。
7.根据权利要求6所述的系统,其特征在于,所述修改模块还用于:
当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第三确定模块,用于若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;
建立模块,用于若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;
第二分配模块,用于将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;
添加模块,用于将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
缓存模块,用于若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。
10.根据权利要求6至9任意一项所述的系统,其特征在于,所述线程状态管理列表中还包括线程上一次执行任务的时间;
则所述系统还包括:
销毁模块,用于若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。
CN201610288572.3A 2016-05-03 2016-05-03 线程管理方法及系统 Pending CN105912386A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610288572.3A CN105912386A (zh) 2016-05-03 2016-05-03 线程管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610288572.3A CN105912386A (zh) 2016-05-03 2016-05-03 线程管理方法及系统

Publications (1)

Publication Number Publication Date
CN105912386A true CN105912386A (zh) 2016-08-31

Family

ID=56753323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610288572.3A Pending CN105912386A (zh) 2016-05-03 2016-05-03 线程管理方法及系统

Country Status (1)

Country Link
CN (1) CN105912386A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598745A (zh) * 2016-11-24 2017-04-26 合肥中科云巢科技有限公司 线程管理方法和系统
CN108132835A (zh) * 2017-12-29 2018-06-08 五八有限公司 基于多进程的任务请求处理方法、装置和系统
CN108920275A (zh) * 2018-06-25 2018-11-30 郑州云海信息技术有限公司 一种抓取黑盒日志的方法、装置、设备及计算机存储介质
CN109388485A (zh) * 2018-09-26 2019-02-26 广州虎牙信息科技有限公司 一种任务执行线程的处理方法、装置、设备及存储介质
CN109766131A (zh) * 2017-11-06 2019-05-17 上海宝信软件股份有限公司 基于多线程技术实现软件智能化自动升级的系统及方法
CN109815007A (zh) * 2018-12-15 2019-05-28 平安科技(深圳)有限公司 基于云监控的线程控制方法、装置、电子设备及存储介质
CN110018892A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 基于线程资源的任务处理方法及相关装置
CN110633133A (zh) * 2018-06-21 2019-12-31 中兴通讯股份有限公司 一种任务处理方法、装置及计算机可读存储介质
CN111767138A (zh) * 2020-06-09 2020-10-13 Oppo广东移动通信有限公司 资源分配方法、存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381004B2 (en) * 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
CN103473129A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 线程数目可伸缩的多任务队列调度系统及其实现方法
CN104238999A (zh) * 2013-06-09 2014-12-24 阿里巴巴集团控股有限公司 一种基于水平分区分布式数据库的任务调度方法及装置
CN105159768A (zh) * 2015-09-09 2015-12-16 浪潮集团有限公司 一种任务管理方法及云数据中心管理平台
CN105389209A (zh) * 2015-12-25 2016-03-09 中国建设银行股份有限公司 一种异步批量任务处理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381004B2 (en) * 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
CN104238999A (zh) * 2013-06-09 2014-12-24 阿里巴巴集团控股有限公司 一种基于水平分区分布式数据库的任务调度方法及装置
CN103473129A (zh) * 2013-09-18 2013-12-25 柳州市博源环科科技有限公司 线程数目可伸缩的多任务队列调度系统及其实现方法
CN105159768A (zh) * 2015-09-09 2015-12-16 浪潮集团有限公司 一种任务管理方法及云数据中心管理平台
CN105389209A (zh) * 2015-12-25 2016-03-09 中国建设银行股份有限公司 一种异步批量任务处理方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598745A (zh) * 2016-11-24 2017-04-26 合肥中科云巢科技有限公司 线程管理方法和系统
CN109766131A (zh) * 2017-11-06 2019-05-17 上海宝信软件股份有限公司 基于多线程技术实现软件智能化自动升级的系统及方法
CN108132835A (zh) * 2017-12-29 2018-06-08 五八有限公司 基于多进程的任务请求处理方法、装置和系统
CN110633133A (zh) * 2018-06-21 2019-12-31 中兴通讯股份有限公司 一种任务处理方法、装置及计算机可读存储介质
CN108920275A (zh) * 2018-06-25 2018-11-30 郑州云海信息技术有限公司 一种抓取黑盒日志的方法、装置、设备及计算机存储介质
CN109388485A (zh) * 2018-09-26 2019-02-26 广州虎牙信息科技有限公司 一种任务执行线程的处理方法、装置、设备及存储介质
CN109815007A (zh) * 2018-12-15 2019-05-28 平安科技(深圳)有限公司 基于云监控的线程控制方法、装置、电子设备及存储介质
CN110018892A (zh) * 2019-03-12 2019-07-16 平安普惠企业管理有限公司 基于线程资源的任务处理方法及相关装置
CN111767138A (zh) * 2020-06-09 2020-10-13 Oppo广东移动通信有限公司 资源分配方法、存储介质和电子设备

Similar Documents

Publication Publication Date Title
CN105912386A (zh) 线程管理方法及系统
CN106020954A (zh) 线程管理方法及装置
US8719834B2 (en) Information processing system, method, program and integrated circuit for maintaining balance of processing loads with respect to real-time tasks
KR101733117B1 (ko) 멀티코어 시스템의 태스크 분배 방법 및 장치
US20110185364A1 (en) Efficient utilization of idle resources in a resource manager
CN103365718A (zh) 一种线程调度方法、线程调度装置及多核处理器系统
WO2016078008A1 (zh) 调度数据流任务的方法和装置
KR101516055B1 (ko) 맵리듀스 워크플로우 처리 장치와 방법 및 이를 저장한 기록 매체
CN104035818A (zh) 多任务调度的方法及装置
KR20110023832A (ko) 멀티 코어/쓰레드 워크-그룹 연산 스케쥴러
CN103365726A (zh) 一种面向gpu集群的资源管理方法和系统
JP2012243325A5 (zh)
US10831539B2 (en) Hardware thread switching for scheduling policy in a processor
CN103049328B (zh) 计算机系统中内存资源分配方法
CN103197976A (zh) 异构系统的任务处理方法及装置
JP2013501298A5 (zh)
CN109033814B (zh) 智能合约触发方法、装置、设备及存储介质
CN103455377A (zh) 用于管理业务线程池的系统和方法
KR101770191B1 (ko) 자원 할당 방법 및 그 장치
CN104238999A (zh) 一种基于水平分区分布式数据库的任务调度方法及装置
US9882973B2 (en) Breadth-first resource allocation system and methods
Ling et al. Blastnet: Exploiting duo-blocks for cross-processor real-time dnn inference
CN105450684A (zh) 云计算资源调度方法和系统
CN102789394A (zh) 一种并行处理消息的方法、装置、节点及服务器集群
CN113010286A (zh) 并行任务调度方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518057 Shenzhen Software Park, Nanshan District high tech Industrial Park, Guangdong, China,, 6 401-402

Applicant after: Yongxing Shenzhen Polytron Technologies Inc

Address before: 518057 Shenzhen Software Park, Nanshan District high tech Industrial Park, Guangdong, China,, 6 401-402

Applicant before: Shenzhen Longrise Technology Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20160831

RJ01 Rejection of invention patent application after publication