Zapisy poza kolejnością dla blokowania z podwójnym sprawdzeniem

W podanych przykładach dla zapisów poza kolejnością dla scenariuszy blokowania z podwójnym sprawdzeniem (ref:Artykuł IBM & Artykuł w Wikipedii)

Nie mogłem zrozumieć prostego powodu, dla którego Thread1 pojawiłby się zsynchronizowanego bloku, zanim konstruktor zostanie w pełni zainicjowany. Zgodnie z moim zrozumieniem tworzenie „nowego” i konstruktora wywołującego powinno być wykonywane sekwencyjnie, a synchroniczna blokada nie powinna być zwalniana, dopóki cała praca nie zostanie zakończona.

Daj mi znać, czego tu brakuje.

questionAnswers(4)

yourAnswerToTheQuestion