Я создаю многопоточный кеш в С#, который будет содержать список объектов Car:
public static IList<Car> Cars {get; private set;}
Мне интересно, можно ли изменить ссылку в потоке без блокировки?
например.
private static void Loop()
{
while (true)
{
Cars = GetFreshListFromServer();
Thread.Sleep(SomeInterval);
}
}
В основном это сводится к тому, что присвоение новой ссылки на "Автомобили" является атомной или нет, я бы предположил.
Если это не так, мне, очевидно, придется использовать личное поле для моих автомобилей и блокировать получение и настройки.