死锁 有这样的情况:一个线程需要同时获得多把锁,这时就容易发生死锁 t1线程获得A对象锁,接下来想获取B对象的锁,t2线程获得B对象锁,接下来想要获取A对象锁 例: Object A = new Object();Object B = new Object();new Thread(() -> {synchronized (A) {log.debug("lock A");try {Thr
锁顺序死锁 我们知道,加锁是为了保证线程安全性而做的同步操作,而过度的加锁可能导致各个线程彼此依赖别的线程已经持有的锁。先上一段代码瞅瞅: public class DeadLockDemo { public static void main(String[] args) { Object lock1 = new Object(); Object lock2