Collection 執行緒安全

2021-08-08 10:47:21 字數 379 閱讀 4180

1. hashmap,treemap 未進行同步考慮,是執行緒不安全的。

2. hashtable 和 concurrenthashmap 都是執行緒安全的。區別在於他們對加鎖的範圍不同,hashtable 對整張hash表進行加鎖,而concurrenthashmap將hash表分為16桶(segment),每次只對需要的桶進行加鎖。

3. collections 類提供了synchronized***()方法,可以將指定的集合包裝成執行緒同步的集合。比如,

list  list = collections.synchronizedlist(new arraylist());

set  set = collections.synchronizedset(new hashset());

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...

Java執行緒安全和非執行緒安全

arraylist是非執行緒安全的,vector是執行緒安全的 hashmap是非執行緒安全的,hashtable是執行緒安全的 stringbuilder是非執行緒安全的,stringbuffer是執行緒安全的 什麼是執行緒安全?執行緒安全和非執行緒安全有什麼區別?分別在什麼情況下使用?非執行緒安...