package com.xbb.thread;
public class DeadLock {
Object obj1 = new Object();
Object obj2 = new Object();
public void funOne() throws Exception{
synchronized (obj1){
Thread.sleep(10);
synchronized (obj2){
System.out.println("fun_1");
}
}
}
public void funTwo() throws Exception{
synchronized (obj2){
Thread.sleep(10);
synchronized (obj1){
System.out.println("fun_2");
}
}
}
public static void main(String[] args)throws Exception {
DeadLock deadLock = new DeadLock();
new Thread(new Runnable() {
@Override
public void run() {
try {
deadLock.funOne();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
try {
deadLock.funTwo();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
多线程-死锁
最新推荐文章于 2020-01-09 11:24:59 发布