是否有线程安全且通用的ILST<;T>;在c#中?

是否有线程安全且通用的ILST<;T>;在c#中?,c#,.net,generics,parallel-processing,thread-safety,C#,.net,Generics,Parallel Processing,Thread Safety,List或HashSet或任何其他内置的线程安全工具是否仅用于添加 我的问题与类似,但我只是为了安全起见,包括添加到该列表中,而不是从中删除或读取。System.Collections.Concurrent.BlockingCollection System.Collections.Concurrent.BlockingCollection<T> .NET 4.0您可以使用,但它的设计对于所有操作都是线程安全的,而不仅仅是添加操作 一般来说,设计一个数据结构来保证某些操作的并发性

List
HashSet
或任何其他内置的线程安全工具是否仅用于添加

我的问题与类似,但我只是为了安全起见,包括添加到该列表中,而不是从中删除或读取。

System.Collections.Concurrent.BlockingCollection
System.Collections.Concurrent.BlockingCollection<T>

.NET 4.0您可以使用,但它的设计对于所有操作都是线程安全的,而不仅仅是添加操作


一般来说,设计一个数据结构来保证某些操作的并发性是安全的,而其他操作则是不安全的,这是很少见的。如果您担心访问一个集合进行阅读时会有开销,那么在寻找专门的集合来处理这一问题之前,您应该进行一些基准测试。

+1关于阻塞集合的更多信息,以及其他问题已经得到解决@LBushkin-不,我认为没有内置的类型是完全线程安全的,似乎4.0比我用来形成问题的问题要新。@Maslow:是的,.NET 4在System.collection.Concurrent命名空间()中引入了许多新的集合类型。