如何讓HashMap變成執行緒安全的?

2021-07-25 02:09:25 字數 466 閱讀 3343

我們都知道。hashmap是非執行緒安全的(非同步的)。那麼怎麼才能讓hashmap變成執行緒安全的呢?

我認為主要可以通過以下三種方法來實現:

1.替換成hashtable,hashtable通過對整個表上鎖實現執行緒安全,因此效率比較低

2.使用collections類的synchronizedmap方法包裝一下。方法如下:

public static mapsynchronizedmap(mapm)  返回由指定對映支援的同步(執行緒安全的)對映

3.使用concurrenthashmap,它使用分段鎖來保證執行緒安全

通過前兩種方式獲得的執行緒安全的hashmap在讀寫資料的時候會對整個容器上鎖,而concurrenthashmap並不需要對整個容器上鎖,它只需要鎖住要修改的部分就行了

如何讓errno多執行緒 程序安

在linux或者unix環境中,errno是乙個十分重要的部分。在呼叫的函式出現問題的時候,我們可以通過errno的值來確定出錯的原因,這就會 涉及到乙個問題,那就是如何保證errno在多執行緒或者程序中安全?我們希望在多執行緒或者程序中,每個執行緒或者程序都擁有自己獨立和唯一的乙個 errno,這...

讓子執行緒中更新UI變成可能!

大家聽到的往往都是子執行緒中不能更新ui,尤其是培訓班出來的學生,聽慣了老師說 子執行緒中不能更新ui啊 這樣的老師我只能說不負責任,今天我要講的是在子執行緒中更新ui的幾種方法 方法一 用handler 1 主線程中定義handler handler mhandler new handler 2 ...

如何讓onvif避開lighttpd的安全認證

如何讓onvif避開lighttpd的安全認證 訪問網頁需要認證功能,然而onvif的cgi也是通過lighttpd來call起來的,如何做到訪問跟onvif無關的請求時需要認證,而訪問onvif時又不需要認證呢?想來幾種方法,都記錄下來吧 1 啟動多個lighttpd,分別load不同的confi...