我们如何知道方法是否是线程安全的
例如,如果我检查http://msdn.microsoft.com/en-us/library/3wcytfd1.aspx,则没有任何内容表明其线程安全。
答案 0 :(得分:10)
不,它们不是线程安全的(没有执行自己的锁定)。
使用其中一个Concurrent集合。
System.Collections.Concurrent命名空间提供了几个 应该使用的线程安全的集合类来代替 System.Collections和中的相应类型 每当有多个线程时,System.Collections.Generic命名空间 同时访问该集合。
答案 1 :(得分:3)
整个List<T>
类的文档都有一个关于线程安全的段:
此类型的公共静态(在Visual Basic中为Shared)成员是线程安全的。不保证任何实例成员都是线程安全的。