Нет, может случиться, что два разных потока создают разные экземпляры и записывают предыдущее сохраненное значение _ myInterface
.
Только представьте, что тема №1 вошла в if
блок
if (_myinterface== null)
{
// ... here
и Thread # 2 также читают _ myinterface
и также входят в этот блок, в этот раз объект экземпляра Thread # 1 и обновленная ссылка _myinterface
.
Но в то же время Thread # 2 уже кэшировал значение _myinterface
(это NULL) и создает новый объект и значение owerwriting, которое было сохранено в Thread # 1.
Обернуть геттер блокировкой (), чтобы в него мог войти только один поток (см. Другой ответ по поводу двойной блокировки)