一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种线程管理方法及装置与流程

2021-10-22 22:32:00 来源:中国专利 TAG:线程 装置 操作系统 方法 管理

技术特征:
1.一种线程管理方法,其特征在于,包括:操作系统确定应用程序的至少一条第一信息,所述第一信息用于指示所述应用程序待执行的第一任务;所述操作系统将所述至少一个第一任务分配至相应的第一任务队列;所述操作系统根据自身当前的负载水平和所述第一任务队列的类型,为所述第一任务队列分配线程。2.根据权利要求1所述的方法,其特征在于,所述操作系统根据自身当前的负载水平和所述第一任务队列的类型,为所述第一任务队列分配线程,包括:所述操作系统确定所述第一任务队列的优先级;所述操作系统根据所述第一任务队列的优先级,以及第一线程池中空闲的线程对应的任务类型,确定可分配线程的第一目标任务队列,所述第一线程池包括所述操作系统根据自身当前的负载水平创建的空闲的线程;所述操作系统根据所述第一目标任务队列的类型,为所述第一目标任务队列分配所述第一线程池中的空闲的线程。3.根据权利要求2所述的方法,其特征在于,所述操作系统根据所述第一目标任务队列的类型,为所述第一目标任务队列分配所述第一线程池中的空闲的线程,包括:当所述第一目标任务队列包括串行任务队列时,所述操作系统为所述串行任务队列分配所述第一线程池中的一个空闲的线程;当所述第一目标任务队列包括并行任务队列时,所述操作系统根据所述并行任务队列中的任务数量,为所述并行任务队列分配所述第一线程池中的n个空闲的线程,n的最大值为所述并行任务队列中包括的任务的数量。4.根据权利要求2所述的方法,其特征在于,还包括:在所述第一目标任务队列中的至少一个任务完成之后,所述操作系统将为所述第一目标任务队列分配的线程回收至所述第一线程池,或者所述操作系统将为所述目标任务队列分配的线程调度至其他任务队列,或者所述操作系统销毁为所述第一目标任务队列分配的线程。5.根据权利要求2所述的方法,其特征在于,还包括:当所述操作系统确定所述第一任务队列中包括第二目标任务队列,并且所述第一线程池中不包括用于执行所述第二目标任务队列中的任务的线程时,所述操作系统为所述第二目标任务队列创建并分配相应的线程,或者所述操作系统支持所述应用程序为所述第二目标任务队列创建相应的线程;其中,所述第二目标任务队列为优先级高于第一优先级的第一任务队列,和/或,所述第二目标任务队列中包括目标任务。6.根据权利要求2所述的方法,其特征在于,所述操作系统确定所述第一任务队列的优先级,包括:所述操作系统根据所述应用程序提交的所述至少一个第一任务的第二信息,确定所述第一任务队列的优先级;和/或,所述操作系统根据所述应用程序的第三信息,确定所述第一任务队列的优先级,所述
第三信息包括以下至少一种:所述应用程序的运行平台、所述应用程序当前是否可见、所述应用程序的功能当前是否可感知和所述应用程序的应用频率;和/或,所述操作系统根据所述第一任务队列中包括的任务的类型,确定所述第一任务队列的优先级;和/或,所述操作系统根据所述第一任务队列的等待时长,确定所述第一任务队列的优先级。7.根据权利要求6所述的方法,其特征在于,所述操作系统根据所述应用程序的第三信息,确定所述第一任务队列的优先级,包括:当所述第三信息包括所述应用程序的运行平台时,所述操作系统确定第一应用程序的第一任务队列的优先级高于第二应用程序的第一任务队列的优先级,所述第一应用程序的运行平台为前台,所述第二应用程序的运行平台为后台;当所述第三信息包括所述应用程序当前是否可见时,所述操作系统确定第三应用程序的第一任务队列的优先级高于第四应用程序的第一任务队列的优先级,所述第三应用程序在当前可见,所述第二应用程序在当前不可见;当所述第三信息包括所述应用程序的功能当前是否可感知时,所述操作系统确定第五应用程序的第一任务队列的优先级高于第六应用程序的第一任务队列的优先级,所述第五应用程序的功能当前可感知,所述第六应用程序的功能当前不可感知;当所述第三信息包括所述应用程序的应用频率时,所述操作系统确定第七应用程序的第一任务队列的优先级高于第八应用程序的第一任务队列的优先级,所述第七应用程序的应用频率高于所述第八应用程序的应用频率。8.根据权利要求2所述的方法,其特征在于,还包括:所述操作系统确定在第一时间段内,应用频率高于第一阈值的至少一个第一应用程序;所述操作系统确定在所述第一时间段内,所述第一应用程序应用的频率高于第二阈值的目标线程;所述操作系统根据自身当前的负载水平,确定可支持的所述目标线程的数量,并生成相应数量的所述目标线程,所述目标线程位于所述第一线程池。9.根据权利要求1至8任一项所述的方法,其特征在于,所述操作系统的负载水平通过以下至少一种参数确定:运行所述操作系统的处理器的空闲比、当前已经创建的线程的数量、所述处理器的内存的占用情况和安装所述操作系统的电子设备的存储器的读写情况。10.根据权利要求1至8任一项所述的方法,其特征在于,还包括:所述操作系统将自身待执行的至少一个第二任务,分配至相应的第二任务队列;所述操作系统确定所述第二任务队列的优先级;所述操作系统根据所述第二任务队列的优先级,为所述第二任务队列分配第二线程池中包括的空闲的线程,所述第二线程池包括的空闲的线程由所述操作系统根据自身当前的负载水平创建。11.一种线程管理方法,其特征在于,包括:
当应用程序需要执行第一任务时,通过所述第一任务对应的第一应用程序编程接口api,向操作系统提交第一信息,所述第一信息用于指示所述第一任务;所述应用程序通过所述操作系统为所述第一任务分配的线程,执行所述第一任务。12.根据权利要求11所述的方法,其特征在于,还包括:当所述应用程序在提交所述第一信息之后的第一时间段内,未获取所述操作系统为所述第一任务分配的线程时,所述应用程序通过所述第一任务对应的第二api,向所述操作系统传输第一请求;所述应用程序在获取所述第一请求对应的第一反馈之后,生成所述第一任务对应的线程,并通过所述线程执行所述第一任务。13.根据权利要求11所述的方法,其特征在于,还包括:所述应用程序通过所述第一任务对应的第一api,向所述操作系统提交所述第一任务的第二信息,所述第二信息用于指示所述第一任务的优先级。14.一种线程管理装置,其特征在于,包括:处理器和应用程序编程接口api;所述api用于获取应用应用程序的至少一条第一信息,所述第一信息用于指示所述应用程序待执行的第一任务;所述处理器用于将所述至少一个第一任务分配至相应的第一任务队列,并根据所述处理器的操作系统当前的负载水平和所述第一任务队列的类型,为所述第一任务队列分配线程。15.根据权利要求14所述的装置,其特征在于,所述处理器具体用于,确定所述第一任务队列的优先级;根据所述第一任务队列的优先级,以及第一线程池中空闲的线程对应的任务类型,确定可分配线程的第一目标任务队列,所述第一线程池包括根据所述操作系统当前的负载水平创建的空闲的线程;根据所述第一目标任务队列的类型,为所述第一目标任务队列分配所述第一线程池中的空闲的线程。16.根据权利要求14所述的装置,其特征在于,所述处理器具体用于,当所述第一目标任务队列包括串行任务队列时,为所述串行任务队列分配所述第一线程池中的一个空闲的线程;当所述第一目标任务队列包括并行任务队列时,根据所述并行任务队列中的任务数量,为所述并行任务队列分配所述第一线程池中的n个空闲的线程,n的最大值为所述并行任务队列中包括的任务的数量。17.根据权利要求14所述的装置,其特征在于,所述处理器还用于,在所述第一目标任务队列中的至少一个任务完成之后,将为所述第一目标任务队列分配的线程回收至所述第一线程池,或者将为所述目标任务队列分配的线程调度至其他任务队列,或者销毁为所述第一目标任务队列分配的线程。18.根据权利要求14所述的装置,其特征在于,所述处理器还用于,当所述第一任务队列中包括第二目标任务队列,并且所述第一线程池中不包括用于执行所述第二目标任务队列中的任务的线程时,为所述第二目标任务队
列创建并分配相应的线程,或者支持所述应用程序为所述第二目标任务队列创建相应的线程;其中,所述第二目标任务队列为优先级高于第一优先级的第一任务队列,和/或,所述第二目标任务队列中包括目标任务。19.根据权利要求14所述的装置,其特征在于,所述处理器用于根据所述应用程序提交的所述至少一个第一任务的第二信息,确定所述第一任务队列的优先级;和/或,所述处理器用于根据所述应用程序的第三信息,确定所述第一任务队列的优先级,所述第三信息包括以下至少一种:所述应用程序的运行平台、所述应用程序当前是否可见、所述应用程序的功能当前是否可感知和所述应用程序的应用频率;和/或,所述处理器用于根据所述第一任务队列中包括的任务的类型,确定所述第一任务队列的优先级;和/或,所述处理器用于根据所述第一任务队列的等待时长,确定所述第一任务队列的优先级。20.根据权利要求19所述的装置,其特征在于,当所述第三信息包括所述应用程序的运行平台时,所述处理器用于确定第一应用程序的第一任务队列的优先级高于第二应用程序的第一任务队列的优先级,所述第一应用程序的运行平台为前台,所述第二应用程序的运行平台为后台;当所述第三信息包括所述应用程序当前是否可见时,所述处理器用于确定第三应用程序的第一任务队列的优先级高于第四应用程序的第一任务队列的优先级,所述第三应用程序在当前可见,所述第二应用程序在当前不可见;当所述第三信息包括所述应用程序的功能当前是否可感知时,所述处理器用于确定第五应用程序的第一任务队列的优先级高于第六应用程序的第一任务队列的优先级,所述第五应用程序的功能当前可感知,所述第六应用程序的功能当前不可感知;当所述第三信息包括所述应用程序的应用频率时,所述处理器用于确定第七应用程序的第一任务队列的优先级高于第八应用程序的第一任务队列的优先级,所述第七应用程序的应用频率高于所述第八应用程序的应用频率。21.根据权利要求14所述的装置,其特征在于,所述处理器还用于,确定在第一时间段内,应用频率高于第一阈值的至少一个第一应用程序;确定在所述第一时间段内,所述第一应用程序应用的频率高于第二阈值的目标线程;根据所述操作系统当前的负载水平,确定可支持的所述目标线程的数量,并生成相应数量的所述目标线程,所述目标线程位于所述第一线程池。22.根据权利要求14至21任一项所述的装置,其特征在于,所述操作系统的负载水平通过以下至少一种参数确定:运行所述操作系统的处理器的空闲比、当前已经创建的线程的数量、所述处理器的内存的占用情况和安装所述操作系统
的电子设备的存储器的读写情况。23.根据权利要求14至21任一项所述的装置,其特征在于,所述处理器还用于,将自身待执行的至少一个第二任务,分配至相应的第二任务队列;确定所述第二任务队列的优先级;根据所述第二任务队列的优先级,为所述第二任务队列分配第二线程池中包括的空闲的线程,所述第二线程池包括的空闲的线程由所述操作系统根据自身当前的负载水平创建。24.一种线程管理装置,其特征在于,包括:处理器和第一应用程序编程接口api;当应用程序需要执行第一任务时,所述第一任务对应的第一api用于向操作系统提交第一信息,所述第一信息用于指示所述第一任务;所述处理器用于通过所述操作系统为所述第一任务分配的线程,执行所述第一任务。25.根据权利要求24所述的装置,其特征在于,还包括:第二api;当在提交所述第一信息之后的第一时间段内,未获取所述操作系统为所述第一任务分配的线程时,所述第一任务对应的所述第二api用于向所述操作系统传输第一请求;所述处理器还用于,在获取所述第一请求对应的第一反馈之后,生成所述第一任务对应的线程,并通过所述线程执行所述第一任务。26.根据权利要求24所述的装置,其特征在于,所述处理器还用于,通过所述第一任务对应的第一api,向所述操作系统提交所述第一任务的第二信息,所述第二信息用于指示所述第一任务的优先级。27.一种终端装置,其特征在于,包括:至少一个处理器和存储器,所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行权利要求1-10任一项所述的线程管理方法。28.一种终端装置,其特征在于,包括:至少一个处理器和存储器,所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端装置执行权利要求11-13任一项所述的线程管理方法。29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-10任一项所述的线程管理方法。30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如权利要求11-13任一项所述的线程管理方法。

技术总结
本申请公开一种线程管理方法及装置。在该方法中,应用程序可通过API向操作系统提交第一信息,所述第一信息用于指示应用程序待执行的至少一个第一任务。通过所述第一信息,所述操作系统将应用程序待执行的至少一个第一任务分配至相应的第一任务队列,并根据自身当前的负载水平和第一任务队列的类型,为所述第一任务队列分配线程。通过本申请实施例公开的方案,能够由操作系统对应用程序所需的线程进行分配,并且,操作系统在分配线程的过程中,会考虑自身的负载水平,从而避免出现应用程序对线程滥用的情况,避免出现线程数量爆发的情况,使操作系统能够高效运行。使操作系统能够高效运行。使操作系统能够高效运行。


技术研发人员:张宪锋 王再尚 孙斐 韩记晓
受保护的技术使用者:华为技术有限公司
技术研发日:2020.04.13
技术公布日:2021/10/21
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜