У меня есть следующий код. Это может быть глупый вопрос, но я не уверен, если нужна синхронизация или нет.
class MyClass
{
[ThreadStatic]
private static object _staticObject;
private static readonly LockStaticField = new object();
public static object StaticObject
{
get
{
lock(LockStaticField)
{
return _staticObject ?? (_staticObject = new object());
}
}
}
}
Я знаю, что поля ThreadStatic
не нуждаются в синхронизации, поскольку состояние не используется. Но что такое статический приемник и инициализация?