Является ли чтение XML с помощью LINQ-to-XML потокобезопасным?C#

Место общения программистов C#
Ответить
Anonymous
 Является ли чтение XML с помощью LINQ-to-XML потокобезопасным?

Сообщение Anonymous »

Под «потокобезопасностью» я подразумеваю: если два потока одновременно читают из одного и того же XDocument, возникнут ли проблемы?
Под «чтением» я имею в виду: код использует только неизменяющие операции, например прочитайте значение с помощью myXDocument.Root.Elements("SomeTag").Attribute("SomeAttribute").Value, но не изменяйте операции, такие как XElement.Add.
Почему я спрашиваю:
  • "Наивная" реализация будет потокобезопасной, поскольку выполняются только операции чтения.
  • Однако «оптимизированная» реализация может также использовать и изменять внутреннее состояние во время операций чтения.
Мне не удалось найти в документации явных гарантий потокобезопасности, но я мог что-то упустить. Судя по всему, документация раньше содержала обычное заявление об отказе от ответственности «статические общедоступные методы являются потокобезопасными, все остальное может не быть», но оно больше не присутствует в текущей версии.
В идеале ответ должен ссылаться на «официальный источник», либо на документацию .NET, либо на заявление/запись в блоге члена команды разработчиков .NET.

Подробнее здесь: https://stackoverflow.com/questions/798 ... hread-safe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»