死锁
锁是一个很有用的工具,运用的场景也多,使用也简单,但是,锁使用不当也会出现一系列维妮塔,比如说:死锁,一旦产生死锁,会造成系统功能无法使用。
例如:
public class DeadLockDemo {
private static String A = "A";
private static String B = "B";
private void deadLock(){
Thread t1 = new Thread(()->{
synchronized (A) {
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (B) {
System.out.println("1");
}
}
});
Thread t2 = new Thread(()->{
synchronized (B){
synchronized (A){
System.out.println("2");
}
}
});
t1.start();
t2.start();
}
public static void mai