如果一个线程最多只能获取一个锁,那么就不会发生锁顺序死锁了。如果确实需要获取多个 锁,锁的顺序可以按照某种规约,比如两个资源的id值,程序按规约保证获取锁的顺序一致。 或者可以使用显式的锁Lock,获取锁的时候设置超时时间,超时后可以重新发起,以避免发生 死锁。