ConcurrentHashMap如何处理重新哈希?
2022-09-03 14:59:30
我想知道ConcurrentHashMap如何处理重新哈希,而另一个线程仍在另一个段/分区上写入。据我所知,ConcurrentHashMap 独立锁定段,例如,Thread1 在 Thread2 写入 segment2 之前写入段 1,如果它要求表在 Thread1 插入后调整大小和重新哈希,但 Thread2 处于写入操作的中间,会发生什么情况?它是否锁定了整个地图以进行重新哈希处理?它是否有类似告诉Thread2停止并等待重新哈希完成之类的东西?因为 Thread2 可能有机会在表调整大小后最终写入 segment1,对吗?