我有这个类(class):
public class User {
public static final NonRegisteredUser NON_REG_USER = new NonRegisteredUser();
//...
public static class NonRegisteredUser extends User {
//...
}
}
并且代码检查器正在检测此警告:
到底是什么意思?
最佳答案
仅当您有2个线程并且一个开始加载User
并且一个开始加载NonRegisteredUser
时,才会发生死锁。已经存在会导致死锁的同步,但是随后需要单独的线程。如果加载发生在单个线程中,则没有死锁,因为该线程拥有两个锁。
因此,消息中的力量。但是,僵局通常确实需要特定的环境,因此,这没有什么奇怪的。