腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Java 8+
ConcurrentHashMap
锁
条
、
、
在关于
锁
条
的
章节中,
ConcurrentHashMap
使用16个存储桶来改进多个线程
的
多线程访问: 我读过这些问题:
浏览 2
提问于2019-07-28
得票数 5
回答已采纳
3
回答
ConcurrentHashMap
JDK 8到JDK 6
的
后端口
、
、
Java8
中
的
ConcurrentHashMap
不使用
锁
,尽管6和7JDK实现使用
锁
。有没有Java 8实现到Java 6
的
反向移植? 原因:没有
锁
,=>没有争用,=>性能更好。
浏览 3
提问于2014-04-19
得票数 3
1
回答
ConcurrentHashMap
和Hash表差
、
我对Java和堆栈溢出很陌生,我正在从经验丰富的人员那里寻求答案,他们曾经从事过Collections
的
工作。我读到hashTable是线程安全
的
,
concurrentHashMap
也是安全
的
,但是
concurrentHashMap
比hashTable更快,因为它为访问线程提供
了
映射段
的
锁
。这在内部是如何工作
的
?如何确定
分段
的
大小?示例:如果
concurrentHashMap
中有4
浏览 9
提问于2014-12-22
得票数 3
3
回答
关于
Concurrenthashmap
的
事实
、
我从不同
的
来源阅读了几个关于
ConcurrentHashmap
的
声明,并想要验证它们是否确实如此。
ConcurrentHashmap
将其数据分解为
分段
,以减少写入器
锁
争用。concurrencyLevel参数直接指定类内部创建
的
浏览 3
提问于2013-04-08
得票数 3
回答已采纳
2
回答
为什么
HashTable在Java中仍然存在,而
ConcurrentHashMap
比它更高效?
、
、
、
、
据我所知,
ConcurrentHashMap
对桶进行分区,并且在每个分区上都有单独
的
锁
。但是HashTable为所有桶都提供
了
一个单
锁
。因此,
ConcurrentHashMap
既可以更高效,也可以(在最坏
的
情况下)与HashTable一样有效。那么,
为什么
Java需要在其最新版本中保留HashTable。还是HashTable在
ConcurrentHashMap
上还有一些优势?
浏览 4
提问于2016-11-04
得票数 2
回答已采纳
2
回答
ConcurrentHashMap
中
的
剂量段是否存在虚假共享问题?
、
、
、
java.util.concurrent.
ConcurrentHashMap
使用Segment数组,因为Mutex和Segment Object比缓存行小。 这会导致错误
的
分享吗?
浏览 5
提问于2016-03-23
得票数 5
回答已采纳
1
回答
ConcurrentHashMap
()中
的
每键等待() Java 8
、
我希望能够释放像compute()这样
的
原子执行
的
锁
来等待条件,我怎么能这样做呢?(编辑)是否有类似于wait() (等待条件)
的
东西,仅用于compute() of
ConcurrentHashMap
(或AtomicReference
的
getAnd*()函数)中的当前密钥,但实际上会在
Java8
中释放
锁
吗?我也可以使用完全不同
的
API。 我知道,如果我对每个键都有一个单独
的
对象/
锁
列表
浏览 3
提问于2022-05-08
得票数 2
1
回答
在
ConcurrentHashMAP
中,
为什么
HashEntry最初是在Java7中引入
的
,
为什么
在JDK8中被删除?
、
我试图理解
ConcurrentHashMAP
( CHM )
的
实现,但它看起来在Java7和CHM
的
Jav8实现中有很大
的
不同, 1)我试图从第一个问题开始理解,
为什么
HashEntry最初是在Java7中引入
的
,
为什么
在JDK8中删除了它?2)在CHM中定义表大小
的
因素是什么,是并发级别还是容量?一个是调整表
的
大小,然后决定并发线程
的
数量谁可以更新他
的
映射?在CHM
的
内部实现中,
浏览 2
提问于2018-06-26
得票数 0
4
回答
Android应用程序构建错误
的
JDK(?)不知何故
、
、
、
、
我最近更新
了
用于Android 3
的
Android项目。java.util.concurrent.
ConcurrentHashMap
' appears in /system/framework/core-oj.jar)for (Long id : mSomeMap.keySet()) KeySetView实现
了
Set,它当然是Iterable,所以无论这一行被解
浏览 0
提问于2017-08-23
得票数 18
1
回答
何时使用
ConcurrentHashMap
、
可能重复: 请建议我
的
理解是否正确。同样,如果是这样的话,我可以在任何地方使用
Concurrent
浏览 1
提问于2013-01-09
得票数 7
1
回答
当同一段
的
读和写请求来时,
ConcurrentHashMap
是如何工作
的
?
、
我正试图了解
ConcurrentHashMap
中
的
锁
是如何工作
的
。我
的
理解是,在
ConcurrentHashMap
中有段,写请求获取特定段
的
锁
,而在其他段上可以同时读取。但是说, 读取请求是针对段10
的
,而写请求是针对同一段10
的
。当请求正在读取时,写请求试图修改它。写入请求如何知道它必须等待读取完成?在
ConcurrentHashMap
中有两个单独
的
锁
,一个用于
浏览 2
提问于2021-02-17
得票数 2
4
回答
ConcurrentHashMap
中是否可以有32个以上
的
锁
、
、
、
、
我读到
ConcurrentHashMap
在多线程中比哈希表工作得更好,因为它有存储桶级别的
锁
,而不是地图范围
的
锁
。每张地图最多可以锁定32个
锁
。想知道
为什么
是32
锁
,
为什么
不超过32
锁
。
浏览 1
提问于2009-11-22
得票数 8
回答已采纳
3
回答
为什么
不能锁定
ConcurrentHashMap
以进行独占访问?
、
、
、
引用的话:
为什么
我们不能仅仅获取
锁
以实现附加
的
原子方法并保持集合线程安全(就像由工厂返回
的
同步集合):
浏览 1
提问于2013-07-27
得票数 3
回答已采纳
1
回答
为什么
我们需要Scala
的
ParHashMap,而Java
的
ConcurrentHashMap
、
、
、
、
我考虑
了
两个具有类似概念
的
集合--来自Scala
的
ParHashMap和来自Java
的
ConcurrentHashMap
。它们都具有相同
的
时间复杂度,并且都是线程安全和无
锁
的
,但它们只基于不同
的
概念,因此,隐藏trie和哈希表。这个推理引发了疑问:
为什么
我们需要来自Scala
的
ParHashMap,而Java需要
ConcurrentHashMap
呢?
浏览 9
提问于2017-01-09
得票数 3
回答已采纳
4
回答
ConcurrentHashMap
是CopyOnWriteArrayList
的
类比吗
尤其是当 这通常太贵了..。谈到
ConcurrentHashMap
,我想知道在选择
ConcurrentHashMap
而不是Collections.synchronizedMap()时
浏览 1
提问于2013-04-11
得票数 5
回答已采纳
3
回答
为什么
ConcurrentHashMap
不能为每个桶设置一个
锁
?
、
、
、
如我们所知,java
的
ConcurrentHashMap
有许多内部
锁
,每个
锁
都保护桶数组
的
某些区域。一个问题是:
为什么
我们不能为每个桶创建一个
锁
根据答案,有几个原因: 浪费了L2缓存。
为什么
浏览 6
提问于2014-08-20
得票数 19
回答已采纳
1
回答
如何在
ConcurrentHashMap
中不锁定地同时放置元素(可能存在)?
、
、
、
、
我正在编写一个简单
的
消息队列程序,我有、多生产者、和多序列化器(现在不考虑消费者)。生产者指定要使用String queueName向哪个队列发送消息。既然我要用地图,我想我可以用 为了避免使用显式
锁
,我选择
了
ConcurrentHashMap
。然而,使用
ConcurrentHashMap
并不意味着我
的
程序
ConcurrentHashMap
是线程安
浏览 0
提问于2017-06-02
得票数 0
回答已采纳
2
回答
ConcurrentHashMap
读写
锁
、
、
、
案例1:在
ConcurrentHashMap
中,假设线程t1正在从段n中读取,而在相同
的
线程中,t2希望在相同
的
段n上写入:问题2:,这两个操作是一个接一个,还是会同时执行?
浏览 4
提问于2013-04-19
得票数 29
回答已采纳
3
回答
并发HashMap零密钥和并发级
、
、
、
请有人就下列问题提供答案: 我理解
为什么
null值在
ConcurrentHashMap
中是不允许
的
。但是
为什么
不允许使用null密钥呢?并发级别决定
了
有多少线程可以并发访问映射,默认值是16。这意味着映射被划分为16个部分,并将
锁
放在每个部件上。这很好,只要初始容量也是16,所以有16个桶和16个
锁
,计算出每个桶一个
锁
。当初始容量大于并发级别时,以及初始容量小于并发级别时,这是如何工作
的
?
浏览 2
提问于2015-08-13
得票数 2
1
回答
ConcurrentHashMap
使用中
的
段类
、
查看
ConcurrentHashMap
的
实现,我发现当尝试操作它(put/remove)时,会找到值,然后将该值用作执行实际操作
的
同步代码
的
锁
。这样,只有在实际存在值
的
地方,才会锁定那个桶。我还看到一个已声明
的
类段,在许多在线可用
的
资源中,它提到这是用来实现并发
的
。但是,我在实现中找不到任何代码,而是使用
分段
来实现同步。我正在研究java 11。
浏览 1
提问于2022-01-01
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
HashMap的线程安全问题及解决方案
为什么ConcurrentHashMap的读操作不需要加锁?
HashMap HashTable和ConcurrentHashMap的区别-JAVA成长之路
一文读懂JAVA并发容器类ConcurrentHashMap
为什么很多自学Python的都放弃了?原来是这问题
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券