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

本文深入探讨了.NET Framework中System.Collections.Concurrent命名空间提供的线程安全集合,包括BlockingCollection、ConcurrentBag、ConcurrentDictionary、ConcurrentQueue和ConcurrentStack。这些集合通过比较并交换和内存屏障技术,避免了传统互斥锁的使用,确保了线程安全和高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://www.cnblogs.com/jinzesudawei/p/11588658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值