Skip to content

Instantly share code, notes, and snippets.

@fankay
Created January 12, 2018 02:20
Show Gist options
  • Save fankay/0ee4396172b17c4d76b805d0e4ae8b03 to your computer and use it in GitHub Desktop.
Save fankay/0ee4396172b17c4d76b805d0e4ae8b03 to your computer and use it in GitHub Desktop.
多线程死锁演示
package com.kaishengit.ppt;
public class DeadLock {
private Object lockA = new Object();
private Object lockB = new Object();
public void deadLock() {
Thread threadA = new Thread(new Runnable() {
@Override
public void run() {
synchronized (lockA) {
System.out.println("Thread A do something...");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (lockB) {
System.out.println("Thread A do something2...");
}
}
}
});
Thread threadB = new Thread(new Runnable() {
@Override
public void run() {
synchronized (lockB) {
System.out.println("Thread B do something...");
synchronized (lockA) {
System.out.println("Thread B do something2...");
}
}
}
});
threadA.start();
threadB.start();
}
public static void main(String[] args) {
DeadLock deadLock = new DeadLock();
deadLock.deadLock();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment