jstack查找多线程开发的问题

来源:互联网 发布:天庭淘宝店txt下载无常 编辑:程序博客网 时间:2024/06/10 05:12

今天写了个多线程计算TOP-K问题的程序,运行的时候发行线程池没有退出,在eclipse里bug的时候一直显示是running的状态,如图:


找人问题了下,说是用jstack打出线程信息可以查看到相关信息,

首先用windows的任务管理器找到这个进程,查找PID为1040,然后在java_home/bin下执行jstack  1040


然后查找第134行,发现是lock.lock()后,没有释放锁导致的问题,添加

 finally {

lock.unlock();

},再运行,正常,OK

0 0
原创粉丝点击