Безопасный получить значение количества от универсального набора, не блокируя набор?

Да.

, По-видимому, Вы имеете в виду appname.exe.config файл?

10
задан Matt Davis 29 August 2009 в 21:01
поделиться

1 ответ

Я подозреваю , что это «безопасно» "с точки зрения" это не приведет к тому, что что-нибудь станет катастрофически неправильным "- но вы можете получить устаревшие данные. Это потому, что я подозреваю , что он просто хранится в простой переменной, и, скорее всего, так будет и в будущем. Однако это не то же самое, что гарантия.

Лично я бы упростил: если вы обращаетесь к совместно используемым изменяемым данным, делайте это только в блокировке (используя ту же блокировку для тех же данных). Программирование без блокировок - это хорошо, если у вас есть соответствующая изоляция (так что вы знаете, что у вас есть соответствующие барьеры памяти, и вы знаете, что вы я никогда не изменю его в одном потоке, пока вы читаете его в другом), но похоже, что здесь дело обстоит не так.

Хорошая новость заключается в том, что получение неоспоримой блокировки невероятно дешево, поэтому я бы на твоем месте выбери безопасный путь. Распределение потоков достаточно сложно без создания условий гонки, которые, вероятно, не дадут значительного увеличения производительности, но за счет редких и невоспроизводимых ошибок.

18
ответ дан 3 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: