[发明专利]一种信息处理方法及装置有效
申请号: | 201811287412.2 | 申请日: | 2018-10-31 |
公开(公告)号: | CN109445951B | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 郑培荣 | 申请(专利权)人: | 新华三技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 李欣;马敬 |
地址: | 310052 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 信息处理 方法 装置 | ||
本申请实施例提供了一种信息处理方法及装置,包括:当对第一线程执行加锁操作时,获取针对第一线程的第一锁的锁标识;将第一锁的锁标识更新至第一线程的当前加锁记录中;当前加锁记录中包括的锁标识按照对第一线程执行加锁操作的时间顺序排序;在第二线程的历史加锁记录中,查找与第一锁关联且记录在当前加锁记录中的死锁历史记录;第二线程的历史加锁记录中包括的锁标识按照对第二线程执行加锁操作的时间顺序排序;若查找到,则显示第二线程与死锁历史记录的对应关系。应用本申请实施例提供的技术方案,能够降低死锁问题对设备产生的负面影响。
技术领域
本申请涉及计算机技术领域,特别是涉及一种信息处理方法及装置。
背景技术
死锁,指多个进程(或线程)因为长久等待已被其他进程(或线程)占用的资源而陷入的一种状态。若一个进程等待的资源一直得不到释放,死锁就会会一直持续下去,死锁一旦发生,程序本身是解决不了的,只能依靠外部力量使得程序恢复运行,例如重启等。
为解决死锁的问题,目前提供了一种检测方法,该方法中,在执行任务前开启计时器,在当前任务执行过程中,计时器进行累计加时。若计时器累计时长超过设定的最大运行时长,则当前任务发生了死锁现象,结束当前任务。
该检测方法,在死锁发生后才能检测到,这时死锁问题已对设备产生了负面的影响。
发明内容
本申请实施例的目的在于提供一种信息处理方法及装置,以降低死锁问题对设备产生的负面影响。具体技术方案如下:
第一方面,本申请实施例提供了一种信息处理方法,所述方法包括:
当对第一线程执行加锁操作时,获取针对所述第一线程的第一锁的锁标识;
将所述第一锁的锁标识更新至所述第一线程的当前加锁记录中;所述当前加锁记录中包括的锁标识按照对所述第一线程执行加锁操作的时间顺序排序;
在第二线程的历史加锁记录中,查找与所述第一锁关联且记录在所述当前加锁记录中的死锁历史记录;所述第二线程的历史加锁记录中包括的锁标识按照对所述第二线程执行加锁操作的时间顺序排序;
若查找到,则显示所述第二线程与所述死锁历史记录的对应关系。
结合第一方面,在第一种可能的实现方式中,所述当对第一线程执行加锁操作时,获取针对所述第一线程的第一锁的锁标识的步骤,包括:
当通过API(Application Programming Interface,应用程序编程接口)对第一线程执行加锁操作时,运行所述API上加载的调试代码,获取针对所述第一线程的第一锁的锁标识。
结合第一方面,在第二种可能的实现方式中,所述方法还包括:
若未查找到,则调用加锁函数,利用所述第一锁对所述第一线程执行加锁操作;
将所述第一锁的锁标识更新至所述第一线程的历史加锁记录中。
结合第一方面,在第三种可能的实现方式中,所述方法还包括:
在显示所述第二线程与所述死锁历史记录的对应关系之后,调用加锁函数,利用所述第一锁对所述第一线程执行加锁操作;将所述第一锁的锁标识更新至所述第一线程的历史加锁记录中;或
在显示所述第二线程与所述死锁历史记录的对应关系之后,显示提示信息;若接收到用户根据所述提示信息输入的操作指令,则根据所述操作指令,调用加锁函数,利用所述第一锁对所述第一线程执行加锁操作;将所述第一锁的锁标识更新至所述第一线程的历史加锁记录中。
结合第一方面的第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三技术有限公司,未经新华三技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811287412.2/2.html,转载请声明来源钻瓜专利网。