public class Main {
public static void main(String[] args) {
String lock1 = "lock1";
String lock2 = "lock2";
new Person(lock1, lock2).start();
new Person(lock2, lock1).start();
}
}
class Person extends Thread {
String lock1;
String lock2;
public Person(String lock1, String lock2) {
this.lock1 = lock1;
this.lock2 = lock2;
}
@Override
public void run() {
synchronized (lock1) {
System.out.println(Thread.currentThread().getName() + "----" + lock1);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (lock2) {
System.out.println(Thread.currentThread().getName() + "----" + lock2);
}
}
}
}
Java死锁实现
最新推荐文章于 2021-12-20 11:06:38 发布