Deutsch

C# - ResourceManager - кешируем или как?

10.12.23 18:07
Re: C# - ResourceManager - кешируем или как?
 
MrSanders коренной житель
в ответ alex445 10.12.23 17:33, Последний раз изменено 10.12.23 18:21 (MrSanders)

Полагаю что такая же беда, как и в яве - out of order execution. Но добавление лишней переменной от этого (в яве) не спасает.

Если по-простому: создание/инициализация объекта это много инструкций. Вместо "выделили память, инициализировали поля, выполнили конструктор, присвоили адрес переменной" VM может выполнить "выделить память, присвоили адрес переменной, инициализировать поля, ...".

А в это время второй поток подходит к if-у, видит что наш синглтон уже не null и радостно возвращает его значение. А там у нас недоинициализированный объект.

 

Перейти на