У меня есть несколько многопоточных кодов, которые я хотел бы немного повысить производительность, поэтому мне интересно, смогу ли я избавиться от блокировки.
У меня есть член поля:
private IList<ServerStatus> status;
Он обновляется в потоке примерно так:
status = GetUpdatedStatus();
И используется в другом потоке, например так:
var currentStatus = status;
Итак, вопрос в том,может ли приведенное выше привести к возникновению каких-либо проблем без блокировок двух операторов присваивания?
Полагаю, единственный сценарий, который я вижу, - currentStatus, равный null, но опять же я ожидаю, что присваивание будет несколько поточно-безопасным (либопоменял ссылку или нет)