美文网首页
性能分析-死锁

性能分析-死锁

作者: star_he | 来源:发表于2022-11-16 09:10 被阅读0次

什么是死锁


死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法进行下去。

排查死锁


1、在终端中输入jps查看当前运行的java程序

通过使用 jps 命令获取需要监控的进程的pid,我们找到了23780 DeathLockTest

2、使用 jstack -l pid 查看线程堆栈信息

mythread-tianluo 等待这个锁 “0x00000000d61ae3a0”,这个锁是由于mythread-jay线程持有。

mythread-jay线程等待这个锁“0x00000000d61ae3d0”,这个锁是由mythread-tianluo 线程持有。

3、分析堆栈信息

“mythread-tianluo"线程堆栈信息分析如下:

mythread-tianluo的线程处于等待(waiting)状态,持有“0x00000000d61ae3d0”锁,等待“0x00000000d61ae3a0”的锁

“mythread-jay"线程堆栈信息分析如下:

mythread-tianluo的线程处于等待(waiting)状态,持有“0x00000000d61ae3a0”锁,等待“0x00000000d61ae3d0”的锁

相关文章

网友评论

      本文标题:性能分析-死锁

      本文链接:https://www.haomeiwen.com/subject/eslyxdtx.html