码迷,mamicode.com
首页 > 其他好文 > 详细

并发编程--锁--如何使用命令行和代码定位死锁

时间:2020-11-02 10:03:11      阅读:27      评论:0      收藏:0      [点我收藏+]

标签:machine   情况   显示   stack   输入   解析   处理   定位   style   

用命令行的方式找到死锁

本地环境下,如果程序发生死锁后,首先cmd进入${JAVA_HOME}/bin/中,输入jps命令,就可以查看到当前 Java 程序的 pid,找到死锁类的pid后执行jstack命令+空格+死锁类的 pid,就可以获取线程获取锁的信息。

技术图片

截取一部分和死锁相关的有用信息

技术图片

常见命令解析

(1)jps(Java Virtual Machine Process Status Tool),是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。

其中PID相当于内存给它(进程)分配的名字,每个进程都有属于自己唯一的一个PID,我们可以利用找到PID来处理相应的进程,上图中27824就是pid。

技术图片

2)jstack主要用来查看某个Java进程内的线程堆栈信息.

用代码来定位死锁的方式

使用ThreadMXBean 工具类

技术图片

技术图片

运行结果

技术图片

 

并发编程--锁--如何使用命令行和代码定位死锁

标签:machine   情况   显示   stack   输入   解析   处理   定位   style   

原文地址:https://www.cnblogs.com/liaowenhui/p/13836419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!