忆点点

c# list的线程安全性

电脑版发表于:2020/5/19 21:37

看看msdn上关于list线程安全的解释:

此类型的公共静态(Shared Visual Basic)成员是线程安全的。 但不保证所有实例成员都是线程安全的。

可以安全地在 List<T>上执行多个读取操作,但是如果在读取集合时修改了集合,则可能会出现问题。 若要确保线程安全,请在读或写操作过程中锁定集合。 若要允许多个线程访问集合以进行读写,必须实现自己的同步。 对于带有内置同步的集合,请参阅 System.Collections.Concurrent 命名空间中的类。 有关本质上是线程安全的替代方法,请参阅 ImmutableList<T> 类。


看来list并不是完全的线程安全的,他说可以安全地在 List<T>上执行多个读取操作,应该的意思读是线程安全的吧,但是有写和修改的话,就要你自己加锁了


list的msdn

https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.list-1?view=netframework-4.8#thread-safety

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢