Fil de sécurité de blocs statiques en Java

Disons que j'ai quelques de code Java:

public class SomeClass {
    static {
        private final double PI = 3.14;
        private final double SOME_CONSTANT = 5.76;
        private final double SOME_OTHER_CONSTANT = 756.33;
    }

  //rest of class
}

Si un thread est de créer une instance de SomeClass et est dans le milieu de l'initialisation des valeurs dans le bloc statique lorsqu'un deuxième thread instancie une deuxième instance de SomeClass, ce qui se passe à la statique bloc? Le deuxième fil de l'ignorer en supposant que c'est déjà initialisé, même si le premier thread n'est pas fait? Ou fait quelque chose d'autre se produit?

InformationsquelleAutor Ryan Thames | 2009-01-20