Java集合中那些類是執行緒安全的

2021-07-01 23:27:30 字數 766 閱讀 4666

執行緒安全類

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

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

statck:堆疊類,先進後出

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

enumeration:列舉,相當於迭代器

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

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

其他:1. hashtable跟hashmap的區別

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

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

用老的vector/hashtable類

但不要對多執行緒安全存在誤解:

這個**是完全執行緒安全的,在方法內部定義的變數,在每個執行緒執行緒進入的時候都會建立這個區域性變數!不涉及執行緒安全問題。通常涉及系統安全的變數一般都是成員變數! stringbuffer本身的內部實現是現場安全的!執行緒安全那是類本身提供的功能是安全的。即你提供插入乙個字串,那麼這個字串插入是安全的,但是要插入兩個字串,兩個的順序你來定,這之間如果有別的插入出錯就不管類的事情了,是你自己**的問題。

Java集合中那些類是執行緒安全的

執行緒安全類 在集合框架中,有些類是執行緒安全的,這些都是jdk1.1中的出現的。在jdk1.2之後,就出現許許多多非執行緒安全的類。下面是這些執行緒安全的同步的類 vector 就比arraylist多了個同步化機制 執行緒安全 因為效率較低,現在已經不太建議使用。在web應用中,特別是前台頁面,...

Java集合中那些類是執行緒安全的

執行緒安全類 在集合框架中,有些類是執行緒安全的,這些都是jdk1.1中的出現的。在jdk1.2之後,就出現許許多多非執行緒安全的類。下面是這些執行緒安全的同步的類 vector 就比arraylist多了個同步化機制 執行緒安全 因為效率較低,現在已經不太建議使用。在web應用中,特別是前台頁面,...

哪些集合類是執行緒安全的?哪些不安全?

線性安全的 vector 只要是關鍵性的操作,方法前面都加了synchronized關鍵字,來保證執行緒的安全性 hashtable 使用了synchronized關鍵字,所以相較於hashmap是執行緒安全的。concurrenthashmap 使用鎖分段技術確保線性安全,是一種高效但是執行緒安全...