【技术实现步骤摘要】
本专利技术涉及程序中的死锁检测技术,尤其涉及通过锁图分析的方式来检测程序中的死锁的技术。
技术介绍
计算机程序中的进程(线程)死锁(deadlock)是一个非常致命的问题。进程(线程)死锁是指是指两个或两个以上的进程(线程)在执行过程中,因竞争共享资源而造成的一种互相等待的现象,除非发生死锁的某个进程(线程)放弃该共享资源,否则死锁中的两个或者多个事务都将无限期等待下去。进程(线程)死锁通常会导致整个系统瘫痪。触发进程(线程)死锁的因素很多,其中主要包括(1)有限的系统资源;(2)进程(线程)运行推进的顺序不合适;(3)资源分配不当。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。为了避免进程(线程)死锁对整个系统造成的重大危害,提高系统的稳定性,需要有一个有效的方法进行死锁检测,以便及时发现进程(线程)死锁,并采取适当的措施解除死锁,避免系统运行状况进一步恶化。目前存在一种基于图论的死锁检测方法。通过记录计算机程序执行过程中的锁事件来构建直观地表示死锁 ...
【技术保护点】
1.一种用于程序死锁检测的方法,包括:获取程序中与上锁操作有关的锁信息;基于所获取的锁信息,生成第一锁图,其中第一锁图中的每个节点包括锁集合和程序位置集合,其中锁集合包括至少一个锁,并且程序位置集合包括至少一个程序位置;提取所述第一锁图中的强连通子图;将所述第一锁图中的强连通子图展开,以生成第二锁图,其中第二锁图中的每个节点包括单个锁;以及提取所述第二锁图中的强连通子图,所述第二锁图中的强连通子图指示程序中的死锁。
【技术特征摘要】
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。