一种检测线程的方法及终端技术

技术编号:16755408 阅读:28 留言:0更新日期:2017-12-09 02:00
本发明专利技术实施例公开了一种检测线程的方法及终端,用于减少终端资源的浪费。本发明专利技术实施例方法包括:终端获取线程参数,线程参数为线程的执行对象,根据线程参数运行线程,当检测到线程产生异常时,获取线程的异常反馈信息,异常反馈信息包括线程产生异常的原因,输出异常反馈信息,并根据异常反馈信息调整线程参数,根据调整后的线程参数运行线程。这样,终端在运行线程时,当线程产生异常时,将该异常的原因通过异常反馈信息返回给终端,终端则将该异常反馈信息输出给终端用户,并且终端根据异常反馈信息调整线程参数,再以调整后的线程参数运行该进程,避免了终端用户多次通过错误的线程参数运行该线程,造成终端资源的浪费。

A method and terminal for the detection of threads

An embodiment of the invention discloses a method and terminal for detecting a thread, which is used to reduce the waste of terminal resources. The embodiment of the invention method comprises the following steps: acquiring thread parameters of terminal, thread parameters for the execution of the thread object, according to the operation parameters of thread thread, thread when the detected abnormal, abnormal feedback threads, abnormal feedback including the causes of abnormal threads, abnormal output according to the feedback information, abnormal feedback information to adjust the thread parameters according to the operation parameters, the thread thread after adjustment. So, in the terminal operation thread, thread when abnormal, the abnormal causes by abnormal feedback information back to the terminal, the terminal will be the abnormal feedback information output to the user terminal, and the terminal according to the abnormal feedback information to adjust the thread parameters, then thread parameters adjusted to run the process, to avoid the user terminal repeatedly run this thread by thread parameter errors, resulting in the waste of terminal resources.

【技术实现步骤摘要】
一种检测线程的方法及终端
本专利技术涉及终端领域,尤其涉及一种检测线程的方法及终端。
技术介绍
线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。线程的在运行时并不能百分之百保证成功,可能出现各种各样的错误或者异常,当发生错误或者异常时,通常的处理方式是通过在线程里捕获异常记录日志,退出线程。不同编程语言的线程的处理模式不一样,比如C语言线程、C++语言线程以及Python语言线程,三者的线程返回处理模式并不相同。其中Python语言线程的处理是个“黑盒子”,现有技术中,当Python语言线程出现异常时,通常会在该线程可能出现异常的任何位置捕获异常,将捕获到的异常信息进行日志记录,而该异常线程则会进入“黑盒子”不会产生返回值。从而终端用户无法知道该线程的运行为何没有得到应有的返回结果。而对于具体的异常原因,需要技术开发人员在后台数据库中查找日志进行人工分析,这样导致终端用户无法获知线程异常的具体原因,若终端用户重复运行该线程,依旧无法获取应有的返回结果,从而造成的终端资源的浪费。
技术实现思路
本专利技术实施例提供了一种检测线程的方法及终端,用于减少终端资源的浪费。本专利技术实施例第一方面提供一种检测线程的方法,包括:获取线程参数,所述线程参数为线程的执行对象;根据所述线程参数运行所述线程;当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因;输出所述异常反馈信息;根据所述异常反馈信息调整所述线程参数;根据所述调整后的线程参数运行所述线程。本专利技术实施例第二方面提供一种终端,包括:获取单元,用于获取线程参数,所述线程参数为线程的执行对象;运行单元,用于根据所述线程参数运行所述线程;所述获取单元还用于,当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因;输出单元,用于输出所述异常反馈信息;调整单元,用于在所述获取单元获取所述线程的异常反馈信息之后,根据所述异常反馈信息调整所述线程参数;所述运行单元还用于,根据所述调整后的线程参数运行所述线程。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,终端获取线程参数,所述线程参数为线程的执行对象,根据所述线程参数运行所述线程,当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因,输出所述异常反馈信息,并根据所述异常反馈信息调整所述线程参数,根据所述调整后的线程参数运行所述线程。这样,终端在运行线程时,实时监控线程的运行状态,当线程产生异常时,将该异常的原因通过异常反馈信息返回给终端,终端则将该异常反馈信息输出给终端用户,使得终端用户能够获知线程产生异常的具体原因,并且终端根据异常反馈信息调整线程参数,再以调整后的线程参数运行该进程,避免了终端用户多次通过错误的线程参数运行该线程,造成终端资源的浪费。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中检测线程的方法的一个实施例示意图;图2为本专利技术实施例中检测线程的方法的另一实施例示意图;图3为本专利技术实施例中检测线程的方法的另一实施例示意图;图4为本专利技术实施例中检测线程的方法的具体应用场景的的一个流程示意图;图5为本专利技术实施例中终端的一个实施例示意图;图6为本专利技术实施例中终端的另一实施例示意图;图7为本专利技术实施例中终端的另一实施例示意图;图8为本专利技术实施例中终端的另一实施例示意图。具体实施方式本专利技术实施例提供了一种检测线程的方法及终端,用于终端获取线程产生异常的原因,避免终端资源的浪费。下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。参照图1所示,本专利技术实施例中检测线程的方法的一个实施例包括:101、获取线程参数,所述线程参数为线程的执行对象;线程,作为程序执行流的最小单元,在被运行之后,往往会得到一个执行结果并输出该执行结果呈现给终端用户,比如运行一次线程可以生成一个报表。而终端在运行线程之前,先要获取该线程的线程参数,该线程参数可以包括需要得到的执行结果的类型,比如该线程为用于建立报表的线程,而具体建立得到的报表包括树状报表、方框报表、以及图形报表等,而线程参数则能够指示出用户需要建立的报表类型,因此,终端在运行线程之前,先获取该线程参数,以该线程参数作为线程的执行对象,从而使得该线程的执行结果为终端用户所需要的结果。需要说明的是,线程参数不仅限于上述的线程执行结果的类型,还可以包括终端用户想要对线程进行了其它自定义的操作,以及该线程连接入数据库的用户名和密码等相关参数,具体不做限定。具体获取该线程参数的方式可以包括两种:一种是人工输入,另一种是从参数列表中获取。102、根据所述线程参数运行所述线程;终端在获取到线程参数后,将该线程参数输入至该线程内,线程通过变量接收该线程参数,并且以该变量值,即接收到线程参数调度到对应的函数模块内运行。线程可以包括多个函数模块,每个函数模块实现不同的功能,比如用于连接数据库的函数模块、用于执行结构化查询语言(StructuredQueryLanguage)SQL语句的函数模块、用于对终端用户进行权限验证的函数模块、用于对连接数据源的函数模块、用于获取运行结果的函数模块、用于历史记录查询的函数模块等。各个函数模块可以通过嵌套或循环调用等方式进行连接,该线程参数也可以根据类型的不同被调用到不同的函数模块执行。103、当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因;线程在运行的过程中,并不能保证百分之百运行成功,由于各种不定因素的原因,可能会导致线程产生异常。具体导致线程产生异常的原因包括三类,第一类线程异常产生的原因是终端硬件上的缺陷导致的。比如终端内存不足,导致该线程程序不完整,因此在运行的过程中产生异常。这种异常原因只能通过提高终端的硬件配置或者减少线程的占用内存的方式进行解决。第二类程异常产生的原因是线程的程序本身有BUG导致的。线程开发人员在编程时可能会未考虑得绝对全面,导致线程的程序本身存在BUG,比如线程的函数之间的调用逻辑问题,或者是线程对所执行的线程参数设置的范围值等问题,均有可能导致线程出现异常。这种异常原因只能由技术人员对线程的程序代码进行调整测试,修复线程BUG的方式进行解决。第三类程异常产生的原因是终端用户的配置不当导致的。比如终端用户所输入的SQL语句存在语法错误,从而导致线程无法正常运行;或者,终端用户所使用的权限超出了线程所允许的预设权限,从而导致线程无法正常运行;或者,在连接数据库时用户名和密码错误,从而导致线程无法正常运行;或者线程所需要调用的数据源的接口被更改或者错误,从而导致线程无法正常运行等等原因,均会导致线程产生异常。而关于第三类异常产生的原因,终端用户可以通过自行调整进行解决,因此,在本专利技术实施例中,终端在检测到线程出现异常时,则获取该线程的本文档来自技高网...
一种检测线程的方法及终端

【技术保护点】
一种检测线程的方法,其特征在于,所述方法包括:获取线程参数,所述线程参数为线程的执行对象;根据所述线程参数运行所述线程;当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因;输出所述异常反馈信息;根据所述异常反馈信息调整所述线程参数;根据所述调整后的线程参数运行所述线程。

【技术特征摘要】
1.一种检测线程的方法,其特征在于,所述方法包括:获取线程参数,所述线程参数为线程的执行对象;根据所述线程参数运行所述线程;当检测到所述线程产生异常时,获取所述线程的异常反馈信息,所述异常反馈信息包括所述线程产生异常的原因;输出所述异常反馈信息;根据所述异常反馈信息调整所述线程参数;根据所述调整后的线程参数运行所述线程。2.根据权利要求1所述的方法,其特征在于,所述线程包括至少两个线程;所述获取线程参数包括:获取各线程对应的线程参数;所述根据线程参数运行所述线程包括:根据获取到的各线程参数同时运行对应的线程。3.根据权利要求2所述的方法,其特征在于,在所述根据各线程参数同时运行对应的线程之后,所述方法还包括:为各线程分别设置识别标识;所述当检测到所述线程产生异常时,获取所述线程的异常反馈信息包括:当检测到所述线程中的目标线程发生异常时,获取所述目标线程的异常反馈信息,所述异常反馈信息包括所述目标线程产生异常的原因以及所述目标线程对应的识别标识。4.根据权利要求2所述的方法,其特征在于,在所述根据线程参数运行所述线程之后,所述方法还包括:检测数据库连接状态;若连接数据库失败,则确定所述线程产生异常;所述获取所述线程的异常反馈信息包括:从所述线程的数据库连接层获取异常反馈信息,所述异常反馈信息包括连接数据库失败的原因。5.根据权利要求3所述的方法,其特征在于,在所述根据线程参数运行所述线程之后,所述方法还包括:检测终端的权限;若所述终端的权限超过预设权限,则确定所述线程产生异常;所述获取所述线程的异常反馈信息包括:从所述线程的权限验证层获取异常反馈信息,所述异常反馈信息包括终端权限超过预设权限的原因。6.根据权利要求3所述的方法,其特征在于,在所述根据线程参数运行所述线程之后,所述方法还包括:检测结构化语言SQL的执行状态;若所述SQL执行失败,则确定所述线程产生异常;所述获取所述线程的异常反馈信息包括:从所述线程的SQL执行层获取异常反馈信息,所述异常反馈信息包括所执行的SQL语句错误的原因。7.根据权利要求1至3其中任意一项所述的方法,其特征在于,在所述根据线程参数运行所述线程之后,所述方法还包括:检测数据源接口连接状态;若连接数据源接口失败,则确定所述线程产生异常;所述获取所述线程的异常反馈信息包括:从所述线程的数据源连接层获取异常反馈信息,所述异常反馈信息包括连接数据源接口失败的原因。8.一种终端,其特征在于,所述终端包括:获取单元,用于获取线程参数,所述线程参数为线程的执行对象;运行单元...

【专利技术属性】
技术研发人员:余颖
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1