通过ADD方法以并行方式将子元素添加到XElement是否安全(如在并行foreach中)?
谢谢!
答案 0 :(得分:9)
答案 1 :(得分:0)
最近(痛苦的)经历让我觉得它非常非常非常安全。
我分析了几个包含7.4 百万的转储文件和880万个额外的不需要的XElement实例。我可以确定,当一些无关紧要的代码涉及操纵XElement的子节点(在某些情况下包括调用Add())同时从两个线程池线程调用时,它们就被创建了。
这并不太令人惊讶 - XElement和相关的类是使用类似链表的结构实现的,如果你对链接引用进行加扰,可能会产生各种奇怪的结果 - 循环,未附加的片段等。