併發 (4) 執行緒安全的集合

2021-08-20 09:37:26 字數 678 閱讀 5210

hashtable 執行緒安全:

stack

enumeration

linkedlist:

hashmap:

hashset:

treemap:

treeset:

在集合框架中,有些類是執行緒安全的,這些都是jdk1.1中的出現的。在jdk1.2之後,就出現許許多多非執行緒安全的類。 下面是這些執行緒安全的同步的類:

vector:就比arraylist多了個同步化機制(執行緒安全),因為效率較低,現在已經不太建議使用。在web應用中,特別是前台頁面,往往效率(頁面響應速度)是優先考慮的。

statck:堆疊類,先進後出

hashtable:就比hashmap多了個執行緒安全

enumeration:列舉,相當於迭代器     以上四個簡稱 喂 she

除了這些之外,其他的都是非執行緒安全的類和介面。

執行緒安全的類其方法是同步的,每次只能乙個訪問。是重量級物件,效率較低。

其他:1. hashtable跟hashmap的區別

hashtable是執行緒安全的,即hashtable的方法都提供了同步機制;hashmap不是執行緒安全的,即不提供同步機制 ;hashtable不允許插入空值,hashmap允許!

2. 多執行緒併發修改一 個 集合 怎麼辦

用老的vector/hashtable類

執行緒安全的集合

集合大概有4種型別 list set queue map其中vector hashtable properties是執行緒安全的。其中arraylist linkedlist hashset treeset hashmap treemap等都是執行緒不安全的。執行緒不安全是指 當多個執行緒訪問同乙個...

執行緒安全的集合

工具類中提供了多個可以獲得執行緒安全集合的方法。synchronizedcollection collectionc synchronizedlist listlist synchronizedset sets synchronizedmap mapm synchronizedsortedset s...

併發及併發的執行緒安全處理

目錄 執行緒安全性 原子性提供了互斥訪問,同一時刻只有乙個執行緒可以來對它操作 原子包 具有原子性,執行緒安全的,atomicint 原始碼實現unsafe類的getandaddint實現原理 迴圈判斷當前的值和主記憶體值是否一致,相等就加一,用到的算 法cas全稱compareandswapint...