CN114090270A - 线程管理方法、装置、电子设备及计算机可读存储介质 - Google Patents

线程管理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114090270A
CN114090270A CN202210070366.0A CN202210070366A CN114090270A CN 114090270 A CN114090270 A CN 114090270A CN 202210070366 A CN202210070366 A CN 202210070366A CN 114090270 A CN114090270 A CN 114090270A
Authority
CN
China
Prior art keywords
thread
management
working
abnormal
information
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.)
Granted
Application number
CN202210070366.0A
Other languages
English (en)
Other versions
CN114090270B (zh
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.)
Wuhan Zhongke Tongda High New Technology Co Ltd
Original Assignee
Wuhan Zhongke Tongda High New 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 Wuhan Zhongke Tongda High New Technology Co Ltd filed Critical Wuhan Zhongke Tongda High New Technology Co Ltd
Priority to CN202210070366.0A priority Critical patent/CN114090270B/zh
Publication of CN114090270A publication Critical patent/CN114090270A/zh
Application granted granted Critical
Publication of CN114090270B publication Critical patent/CN114090270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

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

Abstract

本申请提供一种线程管理方法、装置、电子设备及计算机可读存储介质。该方法在接收并响应线程管理请求后启动管理线程,然后从各工作线程中确定异常工作线程,并通过管理线程从运算数据暂存器中读取该异常工作线程的线程信息,最后通过管理线程根据异常工作线程的线程信息对异常工作线程进行管理。该方法通过在工作线程上设计管理线程分离了工作和管理,且通过运算数据暂存器隔离了线程间数据的直接交互,减小了线程间的相互影响,在工作线程发生异常时,可以通过管理线程对其进行管理,方便了管理线程对异常工作线程的维护,提高了系统运行的稳定性和可靠性。

Description

线程管理方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种线程管理方法、装置、电子设备及计算机可读存储介质。
背景技术
当前视频监控类信令服务端往往涉及大量的线程并发处理,且对线程运行稳定性和可靠性要求极高,一旦线程出现问题,整个系统的稳定性和可靠性也将受到影响。
针对上述问题,传统的做法是为每个线程添加保护代码,在线程出现故障时,由于保护代码的存在只会影响当前线程,不会导致系统性错误。然而,这种通过添加保护代码的模式不具备线程恢复机制,同时,因为线程数据和线程相关,所以在线程出错后由于线程的直接退出,无法获取到出错前的线程信息进行错误分析,不利于异常线程的管理,从而降低了系统运行的稳定性和可靠性。
因此,需要提供一种线程管理方法以方便管理异常线程,提高系统运行的稳定性和可靠性。
发明内容
本申请提供一种线程管理方法、装置、电子设备及计算机可读存储介质,用于方便管理异常线程,提高系统运行的稳定性和可靠性。
为了解决上述技术问题,本申请提供以下技术方案:
本申请提供一种线程管理方法,包括:
接收工作线程管理请求;
响应于所述工作线程管理请求,启动管理线程;
从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
相应的,本申请还提供一种线程管理装置,包括:
请求接收单元,用于接收工作线程管理请求;
请求响应单元,用于响应于所述工作线程管理请求,启动管理线程;
异常线程确定单元,用于从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
异常线程管理单元,用于通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
同时,本申请提供一种电子设备,其包括处理器和存储器,存储器用于存储计算机程序,处理器用于运行所述存储器里的计算机程序,以执行上述线程管理方法中的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述线程管理方法中的步骤。
有益效果:本申请提供一种线程管理方法、装置、电子设备及计算机可读存储介质。具体地,该方法在接收工作线程管理请求后,响应该工作线程管理请求,启动管理线程,然后从各工作线程中确定异常工作线程,并通过管理线程从运算数据暂存器中读取异常工作线程的线程信息,最后通过管理线程根据该异常工作线程的线程信息对异常工作线程进行管理。该方法通过在工作线程上设计管理线程分离了工作和管理,同时通过运算数据暂存器隔离了线程间数据的直接交互,所有线程均通过运算数据暂存器进行间接交互,避免了多线程交互中由于某一线程异常导致的连锁反应,减小了线程间的相互影响;在工作线程发生异常时,管理线程可以通过读取运算数据暂存器中异常工作线程的相关线程信息对异常工作线程进行管理,方便了管理线程对异常工作线程的维护,提高了系统运行的稳定性和可靠性。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的线程管理系统中各线程的关系示意图。
图2是本申请实施例提供的线程管理方法的流程示意图。
图3是本申请实施例提供的守护线程的逻辑结构示意图。
图4是本申请实施例提供的监督线程的逻辑结构示意图。
图5是本申请实施例提供的工作线程的逻辑结构示意图。
图6是本申请实施例提供的异常处理线程的逻辑结构示意图。
图7是本申请实施例提供的运算数据暂存器的逻辑结构示意图。
图8是本申请实施例提供的日志统计模块的逻辑结构示意图。
图9是本申请实施例提供的线程管理装置的结构示意图。
图10是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含;本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。
在本申请中,线程指的是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程可以并发多个线程,每条线程并执行不同的任务。需要说明的是,本申请主要是以并发线程为背景,通过本申请提供的方法管理并发运行的多个工作线程。
在本申请中,工作线程管理请求是由操作系统发出的需要对工作线程进行管理的请求。
在本申请中,管理线程具备启动工作线程的能力,管理线程具体包括监督线程和异常处理线程。其中,监督线程主要用于管理僵尸工作线程(即线程各项指标正常,但内部其实未进行任何工作的线程),而异常处理线程主要用于管理崩溃的工作线程(即工作未结束就退出运行的线程)。
在本申请中,异常工作线程包括僵尸工作线程和崩溃的工作线程。其中,僵尸工作线程是不能通过异常或线程句柄进行外部查询的,而崩溃的工作线程特征明显,通常是由于崩溃在工作线程运行过程中直接退出。
在本申请中,运算数据暂存器主要用于存放各个工作线程的线程信息,管理线程主要通过共享运算数据暂存器中的数据对异常工作线程进行管理。需要说明的是,运算数据暂存器使用线程安全队列存放各个工作线程的线程信息,避免线程间数据的相互调用。
在本申请中,线程信息由至少一个工作线程对象组成,每个工作线程对象一般包括线程初始信息、线程工作信息、线程状态信息以及线程恢复点信息。
在本申请中,管理指的是重启、恢复、回收等操作。
本申请提供一种线程管理方法、装置、电子设备及计算机可读存储介质。
请参阅图1,图1是本申请实施例提供的线程管理系统中各线程的关系示意图。该线程管理系统主要包括:守护线程110、管理线程120(监督线程121和异常处理线程122)、工作线程组130(工作线程1-n)、运算数据暂存器140以及日志统计模块150(也称作日志、统计信息持久化模块),各个线程间互不影响、独立运作,仅通过运算数据暂存器140进行间接的数据交互,从而实现管理线程120对工作线程组130的管理。下面将对该线程管理系统的各个组成部分的功能进行简单的介绍:
守护线程110是一个循环线程,所谓循环线程是在其异常处理代码中植入自启动逻辑,发生异常时可自动启动。此外,守护线程110只负责启动或重启管理线程120(监督线程121和异常处理线程122)。
管理线程120包括监督线程121和异常处理线程122。其中,监督线程121主要通过运算数据暂存器读取各个工作线程的线程信息,根据各个工作线程的线程信息来决定是启动、重启、监管、还是非监管对应的工作线程;异常处理线程122主要是用于管理崩溃的工作线程,具体地,当工作线程中的异常产生导致线程终止时,异常处理线程122将会读取运算数据暂存器140中的该工作线程的线程信息,通过解析该工作线程的线程信息,得到预设管理信息,如果预设管理信息为异常后重启,则会以初始数据重启该工作线程;如果预设管理信息为恢复,则会以原始工作线程的最后恢复点数据进行重启,直到重启次数超过预设值;如果预设管理信息为不处理,则异常处理线程122不做任何操作,并修改运算数据暂存器140中该工作线程的线程状态信息为死亡,使得监督线程121移除对该工作线程的监管。需要说明的是,无论何种操作,异常处理线程122均会向日志统计模块150写入本次作业,为将来做程序问题分析提供数据。
需要说明的是,守护线程110和管理线程120可以统称为协作线程,本申请主要通过协作线程使得服务端工作线程在多协作线程监管的模式下,运行更为稳定,且方便异常问题分析,易于维护和扩展。
工作线程组130(工作线程1-n)主要用于处理实际和具体的工作信息,直到任务完成后结束或者进行循环任务处理。具体地,工作线程由监督线程121启动,可以看作监督线程121的子线程。
运算数据暂存器140用于存放工作线程的线程初始信息、线程工作信息、线程状态信息以及线程恢复点信息等,通过设置运算数据暂存器140隔离了线程间的数据和逻辑直接交互。具体地,线程通过运算数据暂存器140进行了空间隔离,线程间不进行直接交互和数据交互,避免某一线程异常导致的连锁反应。同时,运算数据暂存器140均选用线程安全类型对象,进一步增加运行的可靠性。
日志统计模块150主要用于将信息记录成文件或数据库,方便后续分析。
本申请提出了一种线程管理系统,该线程管理系统可以使用C++语言实现多线程协作工作线程的模式,增加了针对工作线程异常后,进行重启工作任务的逻辑,提高系统稳定性和自愈性。具体地,所有的线程均不直接交互,而是通过运算数据暂存器进行间接交互,避免了多线程交互中某一线程崩溃导致的连锁反应。此外,工作线程在管理线程(监督、异常处理线程)的监管下运行,一旦出现异常导致工作线程中断,管理线程将会通过运算数据暂存器中的数据进行分析,尝试恢复、回收、重启该工作线程,并将异常点信息进行统计记录至日志统计模块,方便后续进行维护和调试。
需要说明的是,图1所示的关系示意图仅仅是一个示例,本申请实施例描述的线程以及模块是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
综合上述线程管理系统的关系示意图,下面将对本申请中线程管理方法进行详细的介绍,请参阅图2所示,图2是本申请实施例提供的线程管理方法的流程示意图。下面将对本申请中的线程管理方法进行详细的介绍,该方法至少包括以下步骤:
S201:接收工作线程管理请求。
工作线程管理请求是由操作系统发出的需要对工作线程进行管理的请求,通过线程管理系统接收该工作线程管理请求。
S202:响应于工作线程管理请求,启动管理线程。
在一种实施例中,接收到工作线程管理请求后,响应该请求并启动管理线程执行管理工作线程的任务,启动管理线程的步骤具体包括:响应于所述工作线程管理请求,启动守护线程;读取所述守护线程的守护初始化参数,所述守护初始化参数包括自重启次数和管理线程的初始化数据;根据所述守护初始化参数,启动管理线程。其中,守护线程由系统主进程进行启动,且守护线程只负责启动或重启监督线程、异常处理线程,因此守护线程任务单一;此外,守护线程为循环线程(即在守护线程异常点加入自启动逻辑,当守护线程出现异常时,会自动调用异常处理回调函数,从而重新启动守护线程)。需要说明的是,虽然守护线程因为任务单一出错的可能性很低,但作为循环线程更为保险,更能提高系统的稳定性和可靠性。
如图3所示,图3为本申请实施例提供的守护线程的逻辑结构示意图。守护线程包括初始化器、异常管理器以及管理线程启动器。其中,初始化器中是由主进程输入的守护线程的守护初始化参数,该守护初始化参数包括自重启次数和管理线程的初始化数据(例如监督线程中最大能允许多少个工作线程在运行);异常管理器主要包裹了管理线程启动器;管理线程启动器包括监督线程启动器和异常处理线程启动器,该管理线程启动器主要有两个功能,一是在初始化守护线程时,读取前述初始化器中的数据,并根据初始化器中管理线程的初始化数据启动管理线程;二是每间隔预设的状态判定时间(例如30s),通过存储在前述初始化器中的线程句柄读取管理线程的状态,一旦发现管理线程产生异常,就重新读取前述初始化器中管理线程的初始化数据并进行重启操作。需要说明的是,虽然管理线程产生异常的可能性很低,但是通过设计守护线程为保证整个线程管理系统的正常运行做了一个保险。
S203:从各工作线程中确定异常工作线程,并通过管理线程从运算数据暂存器中读取异常工作线程的线程信息。
本申请主要是针对工作线程异常后,对于不同的异常情况,有针对性的采取不同的线程对其进行管理。例如,监督线程主要用于监控线程表征正常的工作线程的具体情况,换言之,监督线程主要是针对僵尸工作线程进行管理;异常处理线程则是处理表征异常的工作线程,换言之,异常处理线程主要是针对崩溃的工作线程进行管理。然而,对于僵尸工作线程和崩溃的工作线程,其评估方式也不相同,僵尸工作线程主要是通过监督线程读取线程信息进行判断,而崩溃的工作线程主要是通过工作线程运行崩溃时调用异常处理回调函数,从而触发异常处理线程中的异常处理逻辑。下面将对两种不同的异常工作线程的确定方式进行详细的描述。
在一种实施例中,异常工作线程包括僵尸工作线程(即线程各项指标正常,但内部其实未进行任何工作的线程),僵尸工作线程是无法通过调用异常处理回调函数或者线程句柄进行外部查询判断的,因此,本申请设计了监督线程,旨在从工作线程中找出僵尸工作线程并对其进行管理,避免了大多数场景下僵尸工作线程无法检测导致的空耗性能的问题。具体地,管理线程包括监督线程,监督线程包括监督管理器和监督清单,通过监督线程从各工作线程中确定异常工作线程的具体步骤包括:通过所述监督管理器根据预设的数据同步周期,将运算数据暂存器中存储的各工作线程的线程信息同步至所述监督清单中;通过所述监督管理器根据预设的数据读取周期,读取所述监督清单中各工作线程的线程信息;通过所述监督线程根据各工作线程的线程信息,从各工作线程中确定异常工作线程;通过所述监督线程从运算数据暂存器中读取所述异常工作线程的线程信息。其中,线程信息包括线程初始信息、线程工作信息、线程状态信息以及线程恢复点信息等,根据线程信息中的线程状态信息以及线程工作信息可以确定异常工作线程,具体如何确定异常工作线程的步骤将在后文中进行描述。
如图4所示,图4为本申请实施例提供的监督线程的逻辑结构示意图。监督线程主要包括清单管理器、监督清单、监督管理器、工作线程加载器等。其中,清单管理器中设置有定时器,定时扫描监督清单,对监督清单中的死亡工作线程进行清理;监督清单是监督线程对工作线程进行管理的依据,监督清单中的工作线程可以根据工作线程的线程状态信息进行分组排列,例如:活跃线程、等待线程、死亡线程、待重启线程等;监督管理器有两个功能,对应设置两个定时器,一个定时器中设置有数据同步周期,用于同步运算数据暂存器中的线程信息,并将其加入监督清单中;另一个定时器中设置有数据读取周期,用于读取监督清单中各个工作线程的线程信息,并根据各个工作线程的线程信息进行重启、恢复、终止、回收等操作;工作线程加载器主要用于管理(启动、恢复等)工作线程,每个工作线程启动后,均会获取到一个标识,该标识通过监督清单中的线程信息来唯一确定对应的工作线程,线程启动后,即开始进行工作作业。
在一种实施例中,可以通过监督管理器读取监督清单中各工作线程的线程信息进而确定异常工作线程,其具体步骤包括:通过所述监督管理器根据各工作线程的线程信息确定各工作线程的数据更新时间和线程状态;通过所述监督管理器根据各工作线程的数据更新时间和当前时间,确定各工作线程的数据更新时段;通过所述监督线程根据各工作线程的数据更新时段、线程状态以及预设的数据更新阈值,从各工作线程中确定异常工作线程。
具体地,本申请中的工作线程除了完成某项工作任务外,还在工作过程中,对于重要的中间数据,会在重要的运算前后向运算数据暂存器存入这类中间数据形成恢复点,同时向运算数据暂存器中代表该工作线程的线程信息进行更新,即刷新运算数据暂存器中代表自身的线程信息中的线程状态信息和数据更新时间,从工作线程内部提供临时运算信息,建立恢复或者判断依据,这些依据会被监督线程所用来进行各项操作,例如由监督管理器根据数据读取周期定时读取工作线程的线程信息,并同步至监督清单中以供监督管理器判断工作线程的状态。如图5所示,图5为本申请实施例提供的工作线程的逻辑结构示意图。工作线程主要包括工作逻辑和恢复点更新逻辑,其中,工作逻辑主要用于执行和完成工作线程本身的任务,这些任务是通过主进程创建和放入运算数据暂存器中建立的;恢复点更新逻辑主要是在工作线程开始耗时任务之前,主动更新线程信息的预设的数据更新阈值,避免被误认为僵尸工作线程而被清理,这个预设的数据更新阈值是根据当前工作的数据量进行叠加估算得到的。例如,某个工作线程初始认为某个任务需要3s,但实际花费4s,导致被误认为僵尸工作线程,从而进行回收操作,在线程回收方法中,有时间叠加逻辑,这个逻辑回收时会将运算数据暂存器中代表本工作线程的线程信息对象超时时间乘以2,即为6s,下次该工作线程在被监督线程使用该线程数据启动时会以6s为输入,而真正的僵尸工作线程因为无法回收,则不会触发该时间迭代代码,依旧为初始化的3s,保证了系统的性能。
其中,通过监督管理器根据数据读取周期定时读取监督清单中各个工作线程的线程信息,从而得到各个工作线程的数据更新时间和线程状态,若监督管理器结合当前时间和数据更新时间发现某个工作线程的线程信息长时间未更新,且超过了预设的数据更新阈值,即认为该工作线程超时,同时通过监督清单的线程句柄,检测该超时线程的当前运行状态,如果该超时线程的线程状态未表示死亡,那么就可以确定该超时工作线程为僵尸工作线程,也即异常工作线程。
在一种实施例中,异常工作线程还包括崩溃的工作线程(即工作未结束就退出运行的线程),崩溃的工作线程在发生崩溃异常时,会调用异常处理回调函数从而触发异常处理线程的异常处理逻辑的,因此,本申请设计了异常处理线程,旨在通过异常处理线程对崩溃的工作线程进行管理,从而将因不同原因产生异常的工作线程的管理区分开。具体地,管理线程包括异常处理线程,具体地:当所述异常处理线程接收到异常处理逻辑触发指令时,根据所述异常处理逻辑触发指令确定异常处理回调函数;根据所述异常处理回调函数,从各工作线程中确定异常工作线程;通过所述异常处理线程从运算数据暂存器中读取所述异常工作线程的线程信息。其中,异常处理回调函数是由监督线程在启动工作线程时,根据该工作线程的线程初始信息设置于工作线程中的。
具体地,监督线程在启动工作线程时,会根据工作线程的线程初始信息来设置该工作线程中的异常处理回调函数,一旦工作线程产生崩溃异常,异常处理回调函数会被调用,触发异常处理线程中的异常处理逻辑。因此,只要异常处理线程接收到异常处理逻辑触发指令,就能溯源该异常处理逻辑触发指令是由哪个工作线程的异常处理回调函数触发的,从而确定对应的异常工作线程。由于工作线程的崩溃异常处理被委托到异常处理线程进行管理,因此避免了工作线程异常向上抛出导致的整个系统崩溃,也就是某个工作线程崩溃异常,只会影响它本身。
S204:通过管理线程根据异常工作线程的线程信息对异常工作线程进行管理。
在一种实施例中,管理线程中监督线程和异常处理线程的区别在于,监督线程主要是对僵尸工作线程进行管理,异常处理线程主要是对崩溃的异常工作线程进行管理。因此,通过上述步骤在确定异常工作线程后,需要采取对应的管理线程对其进行管理,其具体步骤包括:通过所述管理线程解析所述异常工作线程的线程信息,得到所述异常工作线程的预设管理信息;通过所述管理线程根据所述预设管理信息对所述异常工作线程进行管理。
具体地,对于僵尸工作线程,监督线程通过读取并解析该僵尸工作线程的线程信息,从而得到该工作线程中预设管理信息(重启、恢复等),若预设管理信息为异常后重启,则会以该工作线程的线程初始信息重启该线程;若预设管理信息为异常后恢复,则会根据该工作线程的线程恢复点信息确定最后恢复点数据,并以该工作线程的最后恢复点数据进行重启。
与监督线程不同的是,异常处理线程通过主进程创建和放入运算数据暂存器中建立的线程信息所记录的重启次数进行自减重启,如果达到最大重启次数,该工作线程的线程状态信息就会被设置为死亡,从而不再进行重启操作。如图6所示,图6为本申请实施例提供的异常处理线程的逻辑结构示意图。异常处理线程主要包括异常线程初始化器、线程信息同步器以及工作线程加载器。其中,异常线程初始化器主要用于初始化和启动异常处理线程,维护异常处理线程的基本运行状态;线程信息同步器主要用于定时读取运算数据暂存器中的各个工作线程的线程信息,从而根据工作线程的线程信息进行相应的管理操作;工作线程加载器在工作线程产生崩溃异常时,读取该崩溃异常的工作线程的线程信息,并按照线程信息中预设管理信息进行相应的管理操作,若预设管理信息为异常后重启,则会以该工作线程的线程初始信息重启该工作线程;若预设管理信息为恢复,则会以该工作线程的最后恢复点数据进行重启,直到重启次数超过预设值;如果预设管理信息为不处理,则不做任何操作,并修改运算数据暂存器中该工作线程的线程状态信息为死亡,使得监督线程移除对该工作线程的监管。需要说明的是,在进行重启的过程中,如果重启次数达到预设的重启阈值后,该崩溃异常的工作线程依然无法正常运行,则修改运算数据暂存器中该工作线程的线程状态信息为死亡,这种对于持续无法正常恢复的线程,通过修改线程状态为死亡,控制了不断重启导致的性能损耗较大的问题。
具体地,运算数据暂存器中通过工作线程对象清单存放各个工作线程的线程信息,运算数据暂存器是协作线程的共享数据库,协作线程均通过运算数据暂存器中存放的线程信息对各个工作线程进行启动、重启以及恢复等操作。如图7所示,图7为本申请实施例提供的运算数据暂存器的逻辑结构示意图。运算数据暂存器包括工作线程对象清单和工作线程对象,其中工作线程对象主要包括线程初始信息、线程工作信息、线程状态信以及线程恢复点信息。其中,工作线程对象清单主要用于存放工作线程信息,主进程通过创建工作线程对象加入到该清单,工作线程对象清单作为整个线程管理系统的工作线程任务入口,监督线程会定时读取该清单,一旦发现僵尸线程、新增线程,会立即采用重启或者初始化启动等操作,此外,异常处理线程在对崩溃异常的工作线程进行重启时,也会参考该清单中的线程信息来决定重启次数,重启输入参数等工作线程关键的线程信息;工作线程对象即清单中存放的对象,每个对象对应的一个工作线程,工作线程运行过程中会更新该对象,这些对象是由主线程根据具体的工作任务进行创建的;工作线程对象中的线程初始信息是用来标识如何启动该工作线程,其包括线程ID、线程名称、线程运行时长等用于线程初始化的数据;线程工作信息是由工作线程定时进行更新的,是用来标识工作线程当前的工作信息,其包括工作时间、工作临时重要数据等;线程状态信息是用来标识工作线程的状态的,可以包括运行中、等待资源中、挂起、睡眠、死亡等状态;线程恢复点信息主要包括恢复点数据和允许恢复的最大次数等。此外,运算数据暂存器主要使用线程安全队列存放各个工作线程的线程信息,避免线程间相互的数据调用。
需要说明的是,本申请通过运算数据暂存器分离了线程间数据的直接交互,从而提高了系统的稳定性,且通过监督线程监管工作线程执行,异常处理线程处理崩溃异常的工作线程,进一步分离了将是工作线程的监管和崩溃异常工作线程的监管,使得僵尸线程可以快速被发现且处理,崩溃异常工作线程得以快速重启。
在一种实施例中,对异常工作线程进行管理操作后,需要向日志统计模块写入本次作业,其具体步骤包括:通过所述异常处理线程根据管理所述异常工作线程的过程,生成异常管理工作信息;通过所述异常处理线程向日志统计模块发送所述异常管理工作信息和所述异常工作线程的线程信息,以使得所述日志统计模块生成异常管理日志。其中,日志统计模块也可称作日志统计信息持久化模块,其主要用于死亡工作线程的日志记录工作,但是对于僵尸工作线程的管理过程也需要进行记录,避免后续分析困难。需要说明的是,这些日志将由后续工程师进行读取和分析,通过设置日志统计模块增加了系统的可维护性。
具体地,如图8所示,图8为本申请实施例提供的日志统计模块的逻辑结构示意图。日志统计模块主要包括数据规整器和文件写入器。其中,数据规整器主要用于将异常工作线程的线程信息转换为日志,并根据异常工作线程的线程ID进行标识,详细记录死亡工作线程死亡时的全部信息,转化为文本数据,交由文件写入器;文件写入器主要用于文件管理,将生成的日志信息形成文件,并按天生成管理日志,避免日志文件过大导致的分析困难,且通过记录死亡工作线程最后的状态,为后续维护提供了关键信息,提升了系统整体的可维护性。
本申请对于多线程并发运行的场景下,某个工作线程出现了异常,其他相关的工作线程多数会受到影响而产生连锁反应,最终导致主进程崩溃的问题进行了处理,通过管理线程使得异常的工作线程可以恢复和重启,增加了系统的自愈性和稳定性,此外,针对表征正常的僵尸线程,本申请通过运算数据暂存器中的信息读取和监督线程评估的方式,避免了大多数场景下僵尸工作线程无法检测导致的空耗性能的问题。同时,本申请还通过日志统计模块记录了异常工作线程管理的作业,进一步将动态的工作线程异常信息固化为日志,增强了系统的可维护性。
基于上述实施例的内容,本申请实施例提供了一种线程管理装置。该线程管理装置用于执行上述方法实施例中提供的线程管理方法,具体地,请参阅图9,该装置包括:
请求接收单元901,用于接收工作线程管理请求;
请求响应单元902,用于响应于所述工作线程管理请求,启动管理线程;
异常线程确定单元903,用于从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
异常线程管理单元904,用于通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
在一种实施例中,请求响应单元902包括:
守护线程启动单元,用于响应于所述工作线程管理请求,启动守护线程;
参数读取单元,用于读取所述守护线程的守护初始化参数,所述守护初始化参数包括自重启次数和管理线程的初始化数据;
管理线程启动单元,用于根据所述守护初始化参数,启动管理线程。
在一种实施例中,管理线程包括监督线程,监督线程包括监督管理器和监督清单,异常线程确定单元903包括:
信息同步单元,用于通过所述监督管理器根据预设的数据同步周期,将运算数据暂存器中存储的各工作线程的线程信息同步至所述监督清单中;
线程信息读取单元,用于通过所述监督管理器根据预设的数据读取周期,读取所述监督清单中各工作线程的线程信息;
第一异常线程确定子单元,用于通过所述监督线程根据各工作线程的线程信息,从各工作线程中确定异常工作线程;
第一异常线程信息读取单元,用于通过所述监督线程从运算数据暂存器中读取所述异常工作线程的线程信息。
在一种实施例中,第一异常线程确定子单元包括:
信息确定单元,用于通过所述监督管理器根据各工作线程的线程信息确定各工作线程的数据更新时间和线程状态;
更新时段确定单元,用于通过所述监督管理器根据各工作线程的数据更新时间和当前时间,确定各工作线程的数据更新时段;
线程确定子单元,用于通过所述监督线程根据各工作线程的数据更新时段、线程状态以及预设的数据更新阈值,从各工作线程中确定异常工作线程。
在一种实施例中,管理线程包括异常处理线程,异常线程确定单元903包括:
函数确定单元,用于当所述异常处理线程接收到异常处理逻辑触发指令时,根据所述异常处理逻辑触发指令确定异常处理回调函数;
第二异常线程确定子单元,用于根据所述异常处理回调函数,从各工作线程中确定异常工作线程;
第二异常线程信息读取单元,用于通过所述异常处理线程从运算数据暂存器中读取所述异常工作线程的线程信息。
在一种实施例中,异常线程管理单元904包括:
信息解析单元,用于通过所述管理线程解析所述异常工作线程的线程信息,得到所述异常工作线程的预设管理信息;
线程管理子单元,用于通过所述管理线程根据所述预设管理信息对所述异常工作线程进行管理。
在一种实施例中,线程管理装置还包括:
信息生成单元,用于通过所述异常处理线程根据管理所述异常工作线程的过程,生成异常管理工作信息;
日志生成单元,用于通过所述异常处理线程向日志统计模块发送所述异常管理工作信息和所述异常工作线程的线程信息,以使得所述日志统计模块生成异常管理日志。
本申请实施例的线程管理装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
区别于当前的技术,本申请提供的线程管理装置设置了请求响应单元、异常线程确定单元以及异常线程管理单元,通过请求响应单元响应工作线程管理请求,从而启动管理线程,通过在工作线程上设计管理线程分离了工作和管理,异常线程确定单元需要通过运算数据暂存器读取异常工作线程的线程信息,而不能直接从异常工作线程中获取相关线程信息,从而隔离了线程间数据的直接交互,减小了线程间的相互影响,在工作线程发生异常时,异常线程管理单元可以通过管理线程对其进行管理,方便了管理线程对异常工作线程的维护,提高了系统运行的稳定性和可靠性。
相应的,本申请实施例还提供一种电子设备,如图10所示,该电子设备可以包括有一个或者一个以上处理核心的处理器1001、无线(WiFi,Wireless Fidelity)模块1002、有一个或一个以上计算机可读存储介质的存储器1003、音频电路1004、显示单元1005、输入单元1006、传感器1007、电源1008、以及射频(RF,Radio Frequency)电路1009等部件。本领域技术人员可以理解,图10中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1003内的软件程序和/或模块,以及调用存储在存储器1003内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。在一种实施例中,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
WiFi属于短距离无线传输技术,电子设备通过无线模块1002可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了无线模块1002,但是可以理解的是,其并不属于终端的必需构成,完全可以根据需要在不改变发明的本质的范围内而省略。
存储器1003可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1003的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器1003可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1003可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1003还可以包括存储器控制器,以提供处理器1001和输入单元1006对存储器1003的访问。
音频电路1004包括扬声器,扬声器可提供用户与电子设备之间的音频接口。音频电路1004可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,扬声器将收集的声音信号转换为电信号,由音频电路1004接收后转换为音频数据,再将音频数据输出处理器1001处理后,经射频电路1009发送给比如另一电子设备,或者将音频数据输出至存储器1003以便进一步处理。
显示单元1005可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1005可包括显示面板,在一种实施例中,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。
输入单元1006可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元1006可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。在一种实施例中,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1001,并能接收处理器1001发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元1006还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
电子设备还可包括至少一种传感器1007,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及距离传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度;至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
电子设备还包括给各个部件供电的电源1008(比如电池),优选的,电源可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1008还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
射频电路1009可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1001处理;另外,将涉及上行的数据发送给基站。通常,射频电路1009包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,射频电路1009还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1003中,并由处理器1001来运行存储在存储器1003中的应用程序,从而实现以下功能:
接收工作线程管理请求;
响应于所述工作线程管理请求,启动管理线程;
从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现上述线程管理方法的功能。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上对本申请实施例所提供的线程管理方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种线程管理方法,其特征在于,包括:
接收工作线程管理请求;
响应于所述工作线程管理请求,启动管理线程;
从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
2.根据权利要求1所述的线程管理方法,其特征在于,所述响应于所述工作线程管理请求,启动管理线程的步骤,包括:
响应于所述工作线程管理请求,启动守护线程;
读取所述守护线程的守护初始化参数,所述守护初始化参数包括自重启次数和管理线程的初始化数据;
根据所述守护初始化参数,启动管理线程。
3.根据权利要求1所述的线程管理方法,其特征在于,所述管理线程包括监督线程,所述监督线程包括监督管理器和监督清单,所述从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息的步骤,包括:
通过所述监督管理器根据预设的数据同步周期,将运算数据暂存器中存储的各工作线程的线程信息同步至所述监督清单中;
通过所述监督管理器根据预设的数据读取周期,读取所述监督清单中各工作线程的线程信息;
通过所述监督线程根据各工作线程的线程信息,从各工作线程中确定异常工作线程;
通过所述监督线程从运算数据暂存器中读取所述异常工作线程的线程信息。
4.根据权利要求3所述的线程管理方法,其特征在于,所述通过所述监督线程根据各工作线程的线程信息,从各工作线程中确定异常工作线程的步骤,包括:
通过所述监督管理器根据各工作线程的线程信息确定各工作线程的数据更新时间和线程状态;
通过所述监督管理器根据各工作线程的数据更新时间和当前时间,确定各工作线程的数据更新时段;
通过所述监督线程根据各工作线程的数据更新时段、线程状态以及预设的数据更新阈值,从各工作线程中确定异常工作线程。
5.根据权利要求1所述的线程管理方法,其特征在于,所述管理线程包括异常处理线程,所述从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息的步骤,包括:
当所述异常处理线程接收到异常处理逻辑触发指令时,根据所述异常处理逻辑触发指令确定异常处理回调函数;
根据所述异常处理回调函数,从各工作线程中确定异常工作线程;
通过所述异常处理线程从运算数据暂存器中读取所述异常工作线程的线程信息。
6.根据权利要求1所述的线程管理方法,其特征在于,所述通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理的步骤,包括:
通过所述管理线程解析所述异常工作线程的线程信息,得到所述异常工作线程的预设管理信息;
通过所述管理线程根据所述预设管理信息对所述异常工作线程进行管理。
7.根据权利要求6所述的线程管理方法,其特征在于,所述管理线程包括异常处理线程,在所述通过所述管理线程根据所述预设管理信息对所述异常工作线程进行管理的步骤之后,还包括:
通过所述异常处理线程根据管理所述异常工作线程的过程,生成异常管理工作信息;
通过所述异常处理线程向日志统计模块发送所述异常管理工作信息和所述异常工作线程的线程信息,以使得所述日志统计模块生成异常管理日志。
8.一种线程管理装置,其特征在于,包括:
请求接收单元,用于接收工作线程管理请求;
请求响应单元,用于响应于所述工作线程管理请求,启动管理线程;
异常线程确定单元,用于从各工作线程中确定异常工作线程,并通过所述管理线程从运算数据暂存器中读取所述异常工作线程的线程信息;
异常线程管理单元,用于通过所述管理线程根据所述异常工作线程的线程信息对所述异常工作线程进行管理。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于运行所述存储器里的计算机程序,以执行权利要求1至7任一项所述的线程管理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的线程管理方法中的步骤。
CN202210070366.0A 2022-01-21 2022-01-21 线程管理方法、装置、电子设备及计算机可读存储介质 Active CN114090270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210070366.0A CN114090270B (zh) 2022-01-21 2022-01-21 线程管理方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210070366.0A CN114090270B (zh) 2022-01-21 2022-01-21 线程管理方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114090270A true CN114090270A (zh) 2022-02-25
CN114090270B CN114090270B (zh) 2022-05-20

Family

ID=80308998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210070366.0A Active CN114090270B (zh) 2022-01-21 2022-01-21 线程管理方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114090270B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700965A (zh) * 2023-05-30 2023-09-05 北京瑞泰兴成工程技术有限公司 一种基于分布式的数据采集方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232143A (ja) * 1998-02-18 1999-08-27 Oki Electric Ind Co Ltd マルチスレッドの監視方法
US20010047482A1 (en) * 2000-01-20 2001-11-29 Harris Gordon J. Distributed storage resource management in a storage area network
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading
US20070204137A1 (en) * 2004-08-30 2007-08-30 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
US20190340035A1 (en) * 2018-05-07 2019-11-07 Micron Technology, Inc. Thread Priority Management in a Multi-Threaded, Self-Scheduling Processor
CN111176831A (zh) * 2019-12-05 2020-05-19 西安交通大学 基于多线程共享内存通信的动态线程映射优化方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232143A (ja) * 1998-02-18 1999-08-27 Oki Electric Ind Co Ltd マルチスレッドの監視方法
US20010047482A1 (en) * 2000-01-20 2001-11-29 Harris Gordon J. Distributed storage resource management in a storage area network
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading
US20070204137A1 (en) * 2004-08-30 2007-08-30 Texas Instruments Incorporated Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture
US20190340035A1 (en) * 2018-05-07 2019-11-07 Micron Technology, Inc. Thread Priority Management in a Multi-Threaded, Self-Scheduling Processor
CN111176831A (zh) * 2019-12-05 2020-05-19 西安交通大学 基于多线程共享内存通信的动态线程映射优化方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘均华: "《基于PXI总线的某飞行器综合测试系统软件研制》", 《工程科技Ⅱ辑》 *
刘文凯: "《基于RISC架构的多线程微处理器设计及验证》", 《信息科技》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116700965A (zh) * 2023-05-30 2023-09-05 北京瑞泰兴成工程技术有限公司 一种基于分布式的数据采集方法及系统

Also Published As

Publication number Publication date
CN114090270B (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
US11416061B2 (en) Terminal control method and apparatus, and terminal
US11886282B2 (en) Recovery method for terminal device startup failure and terminal device
CN106775965B (zh) 一种定时任务的处理方法及装置
CN106874077B (zh) 进程运行方法及装置
CN107506251B (zh) 对智能设备进行复位的方法及装置
US11662803B2 (en) Control method, apparatus, and electronic device
CN110442426B (zh) 一种密码重置方法、装置及存储介质
CN110968508B (zh) 一种小程序的加载时间确定方法、装置、终端及存储介质
CN114090270B (zh) 线程管理方法、装置、电子设备及计算机可读存储介质
CN114327606B (zh) 配置管理方法、装置、电子设备及计算机可读存储介质
CN107908492B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN111273955A (zh) 热修复插件优化方法、装置、存储介质及电子设备
CN107818036B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
US9928134B2 (en) Method and apparatus for repairing dynamic link library file
CN113609107A (zh) 数据库管理方法、装置、电子设备及存储介质
CN107872367B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN107832191B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN111966425A (zh) 进程清理方法、装置、存储介质及移动终端
CN103729283A (zh) 一种系统日志输出方法、装置及终端设备
CN113535368B (zh) 任务处理方法、装置和电子设备
CN114490134A (zh) 事件处理方法、系统、装置、计算机设备和存储介质
CN110007968B (zh) 信息处理方法、装置、计算机设备和计算机可读存储介质
CN109426572B (zh) 任务处理方法、装置及电子设备
CN107766210B (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN107888411B (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