簡體   English   中英

在Java中的ConcurrentHashMap中重新散列會增加段的數量嗎?

[英]Does rehashing in ConcurrentHashMap in Java increase the number of segments ?

重組是否會增加細分數量? 或者在重組CHM時並發級別是否會發生變化?

如果不是(最有可能),那么為什么在java中給出了這種行為,因為CHM中的條目數量增加,更多的線程將訪問同一個段並且可能需要更高級別的並發性?

編輯:我想如果給出了段增加的功能,則需要鎖定所有段。 那是什么原因?

當ConcurrentHashMap的大小增加時,段的數量不會改變。 可以訪問集合的線程數量不如訪問映射的活動線程數量那么重要。 如果你有4個核心,這最多只有4個核心,即使他們只是訪問地圖而不做任何其他事情。 這是一個極端的例子。

實際上,您往往只有一個線程一次訪問一個地圖,有時2-4個線程訪問地圖,這在使用分段時有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM