Search code examples
c#parallel-processingthread-safetyxelement

Does XElement.Remove() function thread safe?


Does XElement.Remove() function thread safe?such as in Parallel.Foreach.and I can ensure the nodes in different threads are different.


Solution

  • None of LINQ to XML is thread-safe for modifications.

    In general, you will almost never find a mutable thread-safe object, unless it has been specifically designed for thread-safety (System.Collections.Concurrent).

    The one major exception to this rule (Java's original collection framework) is widely regarded as a mistake, and has been replaced with separate concurrent and non-thread-safe versions.