Java線程安全的常用類_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
線程安全類
在集合框架中,有些類是線程安全的,這些都是jdk1.1中的出現(xiàn)的。在jdk1.2之后,就出現(xiàn)許許多多非線程安全的類。 下面是這些線程安全的同步的類:
vector:就比arraylist多了個(gè)同步化機(jī)制(線程安全),因?yàn)樾瘦^低,現(xiàn)在已經(jīng)不太建議使用。在web應(yīng)用中,特別是前臺(tái)頁(yè)面,往往效率(頁(yè)面響應(yīng)速度)是優(yōu)先考慮的。
statck:堆棧類,先進(jìn)后出
hashtable:就比hashmap多了個(gè)線程安全
除了這些之外,其他的集合大都是非線程安全的類和接口。
線程安全的類其方法是同步的,每次只能一個(gè)訪問。是重量級(jí)對(duì)象,效率較低。
其他:
1. hashtable跟hashmap的區(qū)別
hashtable是線程安全的,即hashtable的方法都提供了同步機(jī)制;hashmap不是線程安全的,即不提供同步機(jī)制 ;hashtable不允許插入空值,hashmap允許!
2. 多線程并發(fā)修改一 個(gè)集合怎么辦?
用老的Vector/Hashtable類
StringBuffer是線程安全,而StringBuilder是線程不安全的。對(duì)于安全與不安全沒有深入的理解情況下,易造成這樣的錯(cuò)覺,如果對(duì)于StringBuffer的操作均是線程安全的,然而,Java給你的保證的線程安全,是說它的方法是執(zhí)行是排它的,而不是對(duì)這個(gè)對(duì)象本身的多次調(diào)用情況下,還是安全的。看看下邊的例子,在StringBufferTest中有一個(gè)數(shù)據(jù)成員contents它是用來擴(kuò)展的,它的每一次append是線程安全的,但眾多次append的組合并不是線程安全的,這個(gè)輸出結(jié)果不是太可控的,但如果對(duì)于log和getContest方法加關(guān)鍵字synchronized,那么結(jié)果就會(huì)變得非常條理,如果換成StringBuider甚至是append到一半,它也會(huì)讓位于其它在此基礎(chǔ)上操作的線程
以上所述是小編給大家介紹的Java線程安全的常用類_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring中的@ExceptionHandler異常攔截器
這篇文章主要介紹了Spring中的@ExceptionHandler異常攔截器,Spring的@ExceptionHandler可以用來統(tǒng)一處理方法拋出的異常,給方法加上@ExceptionHandler注解,這個(gè)方法就會(huì)處理類中其他方法拋出的異常,需要的朋友可以參考下2024-01-01
Java根據(jù)正整數(shù)的位數(shù)并逆序打印出各位數(shù)字
給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字,需要的朋友可以參考下2017-02-02
基于Java并發(fā)容器ConcurrentHashMap#put方法解析
下面小編就為大家?guī)硪黄贘ava并發(fā)容器ConcurrentHashMap#put方法解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
springboot如何開啟一個(gè)監(jiān)聽線程執(zhí)行任務(wù)
這篇文章主要介紹了springboot如何開啟一個(gè)監(jiān)聽線程執(zhí)行任務(wù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Java 高并發(fā)二:多線程基礎(chǔ)詳細(xì)介紹
本文主要介紹Java 高并發(fā)多線程的知識(shí),這里整理詳細(xì)的資料來解釋線程的知識(shí),有需要的學(xué)習(xí)高并發(fā)的朋友可以參考下2016-09-09
Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟
本文主要介紹了Maven導(dǎo)入本地jar包的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

