c# list的线程安全性
电脑版发表于:2020/5/19 21:37
看看msdn上关于list线程安全的解释:
此类型的公共静态(Shared
Visual Basic)成员是线程安全的。 但不保证所有实例成员都是线程安全的。
可以安全地在 List<T>上执行多个读取操作,但是如果在读取集合时修改了集合,则可能会出现问题。 若要确保线程安全,请在读或写操作过程中锁定集合。 若要允许多个线程访问集合以进行读写,必须实现自己的同步。 对于带有内置同步的集合,请参阅 System.Collections.Concurrent 命名空间中的类。 有关本质上是线程安全的替代方法,请参阅 ImmutableList<T> 类。
看来list并不是完全的线程安全的,他说可以安全地在 List<T>上执行多个读取操作,应该的意思读是线程安全的吧,但是有写和修改的话,就要你自己加锁了
list的msdn