JVM调优之jstack找出发生死锁的线程
2016-08-30 16:00
330 查看
1、执行死锁程序
2、执行 jstack -l 21733 | more
结果如下:
死锁程序:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("start the example------");
final Object obj_1 = new Object();
final Object obj_2 = new Object();
Thread t1 = new Thread("t1") {
@Override
public void run() {
synchronized (obj_1) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (this) {
}
synchronized (obj_2) {
System.out.println("thread t1 done");
}
}
}
};
Thread t2 = new Thread("t2") {
public void run() {
synchronized (obj_2) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (obj_1) {
System.out.println("thread t2 done.");
}
}
}
};
t1.start();
t2.start();
}
2、执行 jstack -l 21733 | more
结果如下:
死锁程序:
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("start the example------");
final Object obj_1 = new Object();
final Object obj_2 = new Object();
Thread t1 = new Thread("t1") {
@Override
public void run() {
synchronized (obj_1) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (this) {
}
synchronized (obj_2) {
System.out.println("thread t1 done");
}
}
}
};
Thread t2 = new Thread("t2") {
public void run() {
synchronized (obj_2) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (obj_1) {
System.out.println("thread t2 done.");
}
}
}
};
t1.start();
t2.start();
}
相关文章推荐
- javascript学习笔记(2):强制类型转换机制和运算符
- JS获取时间getTime()
- 对象不支持“createContextualFragment”属性或方法
- JS面向对象基础2
- js简单计时
- javascript获取节点
- JSON基本语法
- 利用JS进行post提交
- JS数据类型
- js prompt
- Javascript函数
- 几种json转换
- 利用js编写响应式侧边栏
- Javascript实现的数组降维——维度不同,怎么谈恋爱
- Javascript中的null、undefined、NaN
- js实现城市名称拼音索引
- javascript 显示当前时间 练习01
- javascript 显示当前时间 练习01
- javascript 显示当前时间 练习01
- javascript 显示当前时间 练习01