MSDN文档的常规"线程安全"部分,用于StringBuilder说明:
...任何实例成员都不保证是线程安全的......
但是这个陈述感觉它已被复制并粘贴到框架中的几乎每个类:
http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx
但是,Gavin Pugh的这些博客文章提到了以下的线程安全行为StringBuilder:
http://www.gavpugh.com/2010/03/23/xnac-stringbuilder-to-string-with-no-garbage/
http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/
此外,Reflector揭示的StringBuilder的源代码以及SSCLI源代码中的相应注释也提出了许多实现注意事项以确保线程安全性:
有没有人更深入地了解一个StringBuilder实例是否可以安全地在多个并发线程之间共享?