java 查看线程死锁_java 查看线程死锁

java 查看线程死锁_java 查看线程死锁那我们怎么确定一定是死锁呢?有两种方法。1>使用JDK给我们的的工具JConsole,可以通过打开cmd然后输入jconsole打开。1)连接到需要查看的进程。2)打开线程选项卡,然后点击左下角的“检测死锁”3)jconsole就会给我们检测出该线程中造成死锁的线程,点击选中即可查看详情:从上图中我们可以看出:①在线程Thread-1中,从状态可以看出,它想申请Paper这个资源,但是这个资…

大家好,又见面了,我是你们的朋友全栈君。

那我们怎么确定一定是死锁呢?有两种方法。

1>使用JDK给我们的的工具JConsole,可以通过打开cmd然后输入jconsole打开。

1)连接到需要查看的进程。

vo+0GEd6SYEKFgMATXJpcWA3dzQVDAELwzHijdKIvJIKAAaA3ibMWUzohUNkMQAQjcZiwq+cVt8C0v7FP1gMAFgEiwEAi2AxAGCRZFkMQmj0lBSLAYCxBYsBAItgMQBgESwGACyCxQCARbAYALAIFgMAFsFiAMAiWAwAWASLAQCLYDEAYBEsBgAsgsUAgEWwGACwCBYDABbBYgDAIlgMAFgEiwEAi2AxAGARLAYALILFAIBFfIv5P0DEaVBx1LFMAAAAAElFTkSuQmCC

2)打开线程选项卡,然后点击左下角的“检测死锁”

ftFYWvwpE9wAAAAASUVORK5CYII=

3)jconsole就会给我们检测出该线程中造成死锁的线程,点击选中即可查看详情:

f7IzrEy8L+0AAAAASUVORK5CYII=

wTfFX35eeoQ0BWCGKwZQWxZZ+iIufnZY+HJsvtsdmT7MvAYBHFIOpC3zFKwAAF0IUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAAElEMpohiAABIRDGYIooBACARxWCKKAYAgEQUgymiGAAA0v8D3u2kb+oAX1YAAAAASUVORK5CYII=

从上图中我们可以看出:

①在线程Thread-1中,从状态可以看出,它想申请Paper这个资源,但是这个资源已经被Thread-0拥有了,所以就堵塞了。

②在线程Thread-0中,从状态可以看出,它想申请Pen这个资源,但是这个资源已经被Thread-1拥有了,所以就堵塞了。

Thread-1一直等待paper资源,而Thread–一直等待pen资源,于是这两个线程就这么僵持了下去,造成了死锁。

2>直接使用JVM自带的命令

1)首先通过 jps 命令查看需要查看的Java进程的vmid,如图,我们要查看的进程TestDeadLock的vmid号是7412;

hD2OtB38s7AAAAAElFTkSuQmCC

2)然后利用 jstack 查看该进程中的堆栈情况,在cmd中输入 jstack -l 7412 ,移动到输出的信息的最下面即可得到:

8Pzjb+pmCt7A4AAAAASUVORK5CYII=

至此,相信大家都会看了吧,具体就不说啦,根据输出,找到问题所在的代码,开始调试解决即可啦。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158718.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 红外传感器型号和参数_红外传感器参数

    红外传感器型号和参数_红外传感器参数1、组成:红外线传感器包括光学系统、检测元件和转换电路。2、分类:光学系统按结构不同可分为透射式和反射式两类。检测元件按工作原理可分为热敏检测元件和光电检测元件。热敏元件应用最多的是热敏电阻。热敏电阻受到红外线辐射时温度升高,电阻发生变化,通过转换电路变成电信号输出。光电检测元件常用的是光敏元件,通常由硫化铅、硒化铅、砷化铟、砷化锑、碲镉汞三元合金、锗及硅掺杂等材料制成。(1)红外线传感器依动作可…

    2022年5月25日
    52
  • 新手该如何学python怎么学好python?

    新手该如何学python怎么学好python?新手该如何学python怎么学好python?作为新人,对于如何学好PYTHON也是一头雾雨,也很想能得到别人的帮助。今天看到这篇文章,感觉学习起来有了一个方向.现摘录如下,以便给自己的学习提供一个参

    2022年7月5日
    25
  • matlab自带的插值函数interp1的几种插值方法[通俗易懂]

    matlab自带的插值函数interp1的几种插值方法[通俗易懂]插值法    插值法又称“内插法”,是利用函数f(x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f(x)的近似值,这种方法称为插值法。如果这特定函数是多项式,就称它为插值多项式。线性插值法    线性插值法是指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。    假设我们已知坐标(x0,y0)与…

    2022年6月13日
    56
  • 这款开源自动化运维平台,让你彻底摆脱人肉运维「建议收藏」

    这款开源自动化运维平台,让你彻底摆脱人肉运维「建议收藏」  大家好,我是小编南风吹,每天推荐一个小工具/源码,装满你的收藏夹,让你轻松节省开发效率,实现不加班不熬夜不掉头发!  今天小编推荐一款面向中小型企业设计的轻量级无Agent的自动化运维平台整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。开源协议  使用AGPL-3.0开源许可协议链接地址  公众号【Github导航站】回复关键词【spu】获取git地址特性批量执行:主机命令在线批量执行在线终端:主机支

    2022年5月13日
    51
  • 初识Windows Mobile 6.0「建议收藏」

    初识Windows Mobile 6.0「建议收藏」第一次玩WindowsMobile6.0,移植了下RMC程序。^_^

    2022年7月4日
    25
  • idea2022怎么输入激活码_最新在线免费激活2022.02.04

    (idea2022怎么输入激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~CJM5ZJBPHS-eyJsaWNlbnNlSWQiOi…

    2022年4月1日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号