社区
C#
帖子详情
多线程里面使用Collection的问题
yhwebus
2004-04-14 01:58:02
多线程里面使用collection的时候,在从collection里面读数据的时候需要做同步锁定吗?
Collection.SyncRoot
...全文
53
3
打赏
收藏
多线程里面使用Collection的问题
多线程里面使用collection的时候,在从collection里面读数据的时候需要做同步锁定吗? Collection.SyncRoot
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yhwebus
2004-04-14
打赏
举报
回复
你确定需要用吗?
我觉得只读的话,应该可以不用的吧?
能解释一下吗?
阿甘
2004-04-14
打赏
举报
回复
我做的时候用了
yhwebus
2004-04-14
打赏
举报
回复
人呢?
多线程
并发之Semaphore(信号量)
使用
详解
专题相关文章: 从内存可见性看Volatile、原子变量和CAS算法
多线程
并发之CountDownLatch(闭锁)
使用
详解
多线程
并发之显示锁Lock与其通信方式Condition源码解读
多线程
并发之读写锁(ReentranReadWriteLock&ReadWriteLock)
使用
详解
多线程
并发之线程池Executor与Fork/Join框架
多线程
并发之JUC 中的 Atomi...
【java集合】
多线程
场景下
使用
ArrayList(含源码解析)
大家好,我是walker 一个从文科自学转行的程序员~ 爱好编程,偶尔写写编程文章和生活 欢迎关注公众号【I am Walker】,一块学习编程~ ArrayList应该是我们比较常用的集合了,在一般场景下
使用
是没有
问题
的, 但是如果在
多线程
场景下,应该怎么
使用
呢? 主要有两种方式,如下: 方式一:
使用
Collection
s.synchronizedList() ArrayList 不是线程安全的,如果遇到
多线程
场景, 可以通过
Collection
s 的 synchronizedList 方法将其转换.
Java容器类详解(
Collection
与Map,含
多线程
性能对比)
Collection
细分为Set、List、Queue,无key,直接存储数据元素。而Map不但存储数据元素,还有key进行映射。 List List是一个有序集合,主要有:ArrayList、LinkedList、Vector、CopyOnWriteArrayList,它们的各自特点如下: ArrayList 底层是数组,内部维护Object[]。它线程不安全,查询快,但增删慢,物理内存是连续的。线程不安全是若
多线程
同时给线程添加数据,可能出现多个线程读取到同一个副本然后都将添加后
多线程
下的集合
1.
多线程
集合的
使用
首先了解一下java普通的集合: Java集合主要由2大体系构成,分别是
Collection
体系和Map体系,其中
Collection
和Map分别是2大体系中的顶层接口。
Collection
主要有三个子接口,分别为List(列表)、Set(集)、Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复; List中主要有Ar...
C#基础教程(九)容器foreach和
多线程
安全
问题
闲话少说。 在单线程操作List,Dictionary等集合的时候一点
问题
都没有,但是在
多线程
情况下,
问题
就出来了,经常会报错。我们可以看看源码,List的Add方法是线程不安全的,List的源码中的Add方法,
使用
了每次当当前的元素达到上限,通过创建一个新的数组实例,并给长度翻倍的操作。如果单线程操作不会有
问题
,直接扩容,然后继续往
里面
加值。下面是List的Add方法和核心逻辑: 也就是说,当多个线程同时添加元素,且刚好它们都执行到了扩容这个阶段,当一个线程扩大了这个数组的长度,且进行了+1操作后
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章