[.Net] 什么是线程安全的并发集合

Posted jinzesudawei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[.Net] 什么是线程安全的并发集合相关的知识,希望对你有一定的参考价值。

System.Collections.Concurrent

为此,在.NET Framework中提供了System.Collections.Concurrent新的命名空间可以访问用于解决线程安全问题,通过这个命名空间能访问以下为并发做好了准备的集合。
1.BlockingCollection 与经典的阻塞队列数据结构类似,能够适用于多个任务添加和删除数据,提供阻塞和限界能力。
2.ConcurrentBag 提供对象的线程安全的无序集合
3.ConcurrentDictionary 提供可有多个线程同时访问的键值对的线程安全集合
4.ConcurrentQueue 提供线程安全的先进先出集合
5.ConcurrentStack 提供线程安全的后进先出集合
这些集合通过使用比较并交换和内存屏障等技术,避免使用典型的互斥重量级的锁,从而保证线程安全和性能。

【读书笔记】.Net并行编程(三)---并行集合
https://www.cnblogs.com/stoneniqiu/p/4931513.html
https://www.cnblogs.com/stoneniqiu/category/749413.html

C# .net 集合-并发处理
https://blog.csdn.net/q3585914/article/details/79231268

C# 并发队列ConcurrentQueue
https://blog.csdn.net/conquerwave/article/details/50830648

微软文档
https://docs.microsoft.com/zh-cn/dotnet/standard/collections/thread-safe/
https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.concurrent?view=netframework-4.8

以上是关于[.Net] 什么是线程安全的并发集合的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程之set集合的线程安全类你知道吗

ConcurrentDictionary 与 Dictionary

JUC并发编程 共享模式之工具 JUC 线程安全的集合类 -- 线程安全的集合类概述

转:Java并发编程之八:多线程环境中安全使用集合API(含代码)

线程安全的集合

高并发学习 —— 集合线程安全线程池