Безопасен ли этот поток? В частности, может ли метод GetMyObject ()
вернуть значение null? Я понимаю, что два потока могут получить другой экземпляр MyObject
, но меня это не волнует. Я просто хочу убедиться, что можно с уверенностью предположить, что GetMyObject ()
никогда не вернет null.
class Foo {
private static MyObject obj;
public static MyObject GetMyObject() {
MyObject o = obj;
if(o == null) {
o = new MyObject();
obj = o;
}
return o;
}
public static void ClearMyObject() {
obj = null;
}
}
class MyObject {}