.NET Framework 4
 
其他版本
 
评价此主题
 

 

您可以将这些类型用于任何多线程应用程序代码,包括任务并行库和 PLINQ。

System.Collections.Generic.List<T>(包含用户实现的锁定)等类型的性能。

下表列出了新的并发集合类:

 

类型

说明

System.Collections.Concurrent.BlockingCollection<T>

IEnumerable<T> 的集合类提供阻塞和限制。

System.Collections.Concurrent.ConcurrentBag<T>

一个提供可伸缩添加和获取操作的线程安全包实现。

System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>

一个并发且可伸缩的字典类型。

System.Collections.Concurrent.ConcurrentQueue<T>

一个并发且可伸缩的 FIFO 队列。

System.Collections.Concurrent.ConcurrentStack<T>

一个并发且可伸缩的 LIFO 堆栈。

线程安全集合

System.Threading.CountdownEvent)在 .NET Framework 的早期版本中没有对应项。

下表列出了这些新的同步类型:

 

类型

说明

System.Threading.Barrier

屏障 (.NET Framework)

System.Threading.CountdownEvent

CountdownEvent

System.Threading.ManualResetEventSlim

ManualResetEvent 和 ManualResetEventSlim

System.Threading.SemaphoreSlim

Semaphore 和 SemaphoreSlim

System.Threading.SpinLock

SpinLock

System.Threading.SpinWait

SpinWait

有关更多信息,请参见:

Lazy<T>,为任何自定义类型启用迟缓初始化。

下表列出了迟缓初始化类型:

 

类型

说明

System.Lazy<T>

提供轻量、线程安全的迟缓初始化。

System.Threading.ThreadLocal<T>

逐线程提供迟缓初始化的值,其中每个线程都会迟缓调用初始化函数。

System.Threading.LazyInitializer

而是使用引用来确保在访问目标时目标已初始化。

延迟初始化

如何:处理 PLINQ 查询中的异常

相关文章:

  • 2018-10-19
  • 2022-02-08
  • 2022-12-23
  • 2018-10-18
  • 2021-11-14
  • 2021-06-12
  • 2022-12-23
猜你喜欢
  • 2022-01-11
  • 2021-06-15
  • 2022-12-23
  • 2021-02-28
  • 2022-12-23
  • 2018-10-10
相关资源
相似解决方案