并发主题

线程死锁研究之二

上页

前面我们设计出死锁的Account代码,通过下面命令在Liunx下发现死锁的Java线程杀死。

ps –e | grep java

发现:

74941 ttys000 0:00.01 grep java
70201 ttys004 1:00.89 /usr/bin/java threads.deadlock.DeadlockDemo

然后杀死

kill -3 70201

也可以使用Jstack:

jstack <PID>

为了在windows下找出Java的PID,在任务管理器中:

jstack 3492

将输出拷贝出来进行分析。

 

jVisualVM是"劳斯莱斯"的方式获得的线程转储。它由Oracle提供的工具,它可以让你获得大量的不同有关Java VM信息。包括堆转储,CPU使用率,内存分析等。

选择threaddump:

 

 

下页

java多线程

Java同步或锁

Java性能调优