我有这个类(class):

public class User {

    public static final NonRegisteredUser NON_REG_USER = new NonRegisteredUser();

    //...

    public static class NonRegisteredUser extends User {
        //...
    }

}

并且代码检查器正在检测此警告:



到底是什么意思?

最佳答案

仅当您有2个线程并且一个开始加载User并且一个开始加载NonRegisteredUser时,才会发生死锁。已经存在会导致死锁的同步,但是随后需要单独的线程。如果加载发生在单个线程中,则没有死锁,因为该线程拥有两个锁。

因此,消息中的力量。但是,僵局通常确实需要特定的环境,因此,这没有什么奇怪的。

10-01 20:32