Да.
, По-видимому, Вы имеете в виду appname.exe.config файл?
Я подозреваю , что это «безопасно» "с точки зрения" это не приведет к тому, что что-нибудь станет катастрофически неправильным "- но вы можете получить устаревшие данные. Это потому, что я подозреваю , что он просто хранится в простой переменной, и, скорее всего, так будет и в будущем. Однако это не то же самое, что гарантия.
Лично я бы упростил: если вы обращаетесь к совместно используемым изменяемым данным, делайте это только в блокировке (используя ту же блокировку для тех же данных). Программирование без блокировок - это хорошо, если у вас есть соответствующая изоляция (так что вы знаете, что у вас есть соответствующие барьеры памяти, и вы знаете, что вы я никогда не изменю его в одном потоке, пока вы читаете его в другом), но похоже, что здесь дело обстоит не так.
Хорошая новость заключается в том, что получение неоспоримой блокировки невероятно дешево, поэтому я бы на твоем месте выбери безопасный путь. Распределение потоков достаточно сложно без создания условий гонки, которые, вероятно, не дадут значительного увеличения производительности, но за счет редких и невоспроизводимых ошибок.