多執行緒HashMap的讀取是否需要同步?

2021-08-29 08:43:21 字數 456 閱讀 9474

多執行緒hashmap的讀取是否需要同步?這個問題一直困擾著我,雖然collections提供了同步的map,但我一般都是直接使用hashmap,讀的時候不同步,寫的時候才同步。下面是我從hashmap裡擷取的讀的源**,估計讀的時候應該是不用同步的。其他的map我沒有仔細看,但估計應該也是差不多。

[code] public object get(object key)

}public boolean containskey(object key)

return false;

}static object masknull(object key)

static int hash(object x)

static int indexfor(int h, int length)

static boolean eq(object x, object y)

[/code]

HashMap 多執行緒 死迴圈 Java

hashmap,眾所周知,是執行緒不安全的。在多執行緒的情況下,在get 非常有可能出現死迴圈。因為 hashmap採用鍊錶解決hash衝突,因為是鍊錶結構,那麼就很容易形成閉合的鏈路,這樣在迴圈的時候只要有執行緒對這個hashmap進行get操作就會產生死迴圈。只 有乙個執行緒對hashmap的資...

python多執行緒讀取檔案

coding utf 8 importos,time import threading rlock threading rlock curposition 0 class reader threading thread def init self res self res res super rea...

HashMap實現原理(二) 多執行緒問題

本文的分析是基於jdk1.7原始碼 前奏 我們都知道,hashmap的初始容量是16,當hashmap中的值的size超過threshold時,會進行擴容操作 擴容會執行resize transfer方法 hashmap之所以執行緒不安全就是因為在resize transfer 的時候會不安全。re...