C# 各种常用集合类型的线程安全版本
在C#里面我们常用各种集合,数组,List,Dictionary,Stack等,然而这些集合都是非线程安全的,当多线程同时读写这些集合的时候,有可能造成里面的数据混乱,为此微软从Net4.0开始专门提供了另一套线程安全的版本(放在System.Collections.Concurrent命名空间).
都有这些:
当有多个线程并发访问集合时,应使用这些类代替 System.Collections 和 System.Collections.Generic 命名空间中的对应类型。
类 | 说明 | |
---|---|---|
![]() |
BlockingCollection<T> | 为实现 IProducerConsumerCollection<T> 的线程安全集合提供阻塞和限制功能。 |
![]() |
ConcurrentBag<T> | 表示对象的线程安全的无序集合。 |
![]() |
ConcurrentDictionary<TKey, TValue> | 表示可由多个线程同时访问的键值对的线程安全集合。 |
![]() |
ConcurrentQueue<T> | 表示线程安全的先进先出 (FIFO) 集合。 |
![]() |
ConcurrentStack<T> | 表示线程安全的后进先出 (LIFO) 集合。 |
![]() |
OrderablePartitioner<TSource> | 表示将一个可排序数据源拆分成多个分区的特定方式。 |
![]() |
Partitioner | 提供针对数组、列表和可枚举项的常见分区策略。 |
![]() |
Partitioner<TSource> | 表示将一个数据源拆分成多个分区的特定方式。 |
接口 | 说明 | |
---|---|---|
![]() |
IProducerConsumerCollection<T> | 定义供制造者/使用者用来操作线程安全集合的方法。此接口提供一个统一的表示(为生产者/消费者集合),从而更高级别抽象如System.Collections.Concurrent.BlockingCollection<T> 可以使用集合作为基础的存储机制。 |
转载于:https://www.cnblogs.com/DragonStart/p/7526663.html
C# 各种常用集合类型的线程安全版本相关推荐
- Scala 系列(六)—— 常用集合类型之 List Set
一.List字面量 List 是 Scala 中非常重要的一个数据结构,其与 Array(数组) 非常类似,但是 List 是不可变的,和 Java 中的 List 一样,其底层实现是链表. scal ...
- C# 数组增加元素_C#的集合类型及使用技巧
在日常开发过程中,我们不能避免的要对批量数据处理,这时候就要用到集合.集合总体上分为线性集合和非线性集合.线性集合是指元素具有唯一的前驱和后驱的数据结构类型:非线性集合是指有多个前驱和后驱的数据结构类 ...
- 【Scala 教程】Scala 集合类型
作者:梦家 个人站点:dreamhomes.top 公众号:DreamHub Scala Collection Scala提供了一套很好的集合实现,提供了一些集合类型的抽象. Scala 集合分为可变 ...
- spring中的依赖注入——构造函数注入、set方法注入( 更常用的方式)、复杂类型的注入/集合类型的注入
spring中的依赖注入 依赖注入: Dependency Injection IOC的作用:降低程序间的耦合(依赖关系) 依赖关系的管理:以后都交给spring来维护.在当前类需要用到其他类的对象, ...
- Redis常用命令入门5:有序集合类型
有序集合类型 上节我们一起学习了集合类型,感受到了redis的强大.现在我们接着学Redis的最后一个类型--有序集合类型. 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序 ...
- Redis常用命令入门4:集合类型
集合类型 之前我们已经介绍过了最基本的字符串类型.散列类型.列表类型,下面我们一起学习一下集合类型. 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易 ...
- C#常用集合的使用(转载)
大多数集合都在System.Collections,System.Collections.Generic两个命名空间.其中System.Collections.Generic专门用于泛型集合.针对特定 ...
- C#集合类型总结和性能分析
C#集合类型概述 集合是.NET FCL(Framework Class Library)中很重要的一部分.所有的集合类都继承自IEnumerable.集合类总体可分为一下几类:关联/非关联型集合,顺 ...
- 数据结构与常用集合总结
数据结构与常用集合总结 数据结构(英语:data structure)是计算机中存储.组织数据的方式. 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合. ...
- 第十三章_Java中常用集合大整理(含底层数据结构简单介绍)
第十三章_Java中常用集合大整理 1.集合和数组的区别 集合 既可以存储基本数据类型还可以存储引用数据类型 定长–>是数组最大的特点,也是最大的缺点 数组 只能存储引用数据类型 长度可变 相同 ...
最新文章
- FPGA/ASIC初学者应该学习Verilog还是VHDL?
- Cocos2d-x游戏中默认的AndroidManifest.xml的解析
- mybatis中传入String类型参数的问题
- 支持Windows 7的CAD—AutoCAD Civil 3D 2010
- android分辨率对应关系,android各dpi与分辨率的对应关系
- java页面可配置化_web.xml页面配置
- 一个小例子体会Java反射的动态性
- Spring详解(四)------注解配置IOC、DI
- .net 发送电子邮件
- mssql数据库基本语句总结(2)
- LigerUI权限系统之角色管理
- floyd算法MATLAB实现
- 二十款免费WiFi渗透工具
- 视频无损裁剪、转换、合并、加水印、加特效?一切搞定!
- 《近匠》专访启明星辰安全研究中心副总监侯浩俊——物联网安全攻防的“线上幽灵”...
- UWB测距原理详细解答
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- 《策略驱动型数据中心——ACI技术详解》一1.3 数据中心设计
- java摩尔常量,摩尔气体常量 摩尔气体常数如何理解?
- 南大通用数据库-Gbase-8a-学习-26-UDF自定义函数(C、python外部函数)