Скажем, у меня есть 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
}
Если поток создает экземпляр SomeClass и находится в середине инициализации значений в статическом блоке, когда второй поток создает экземпляр SomeClass, что происходит со статическим блоком? Второй поток игнорирует его, предполагая, что он уже инициализирован, хотя первый поток не выполняется? Или происходит что-то еще?