concurrenthashmap

    -3熱度

    1回答

    請建議哪個地圖可用於緩存。 我的用例是一個高度多線程的服務器,我想同步放置地圖但得到地圖不同步。 我的期望是:如果發生,立即獲得應該有最新的更新值。 對於我們的用例同步可能不需要整個地圖在整個過程中,我們現在正在做的事情,它應該同步只有當同樣的值試圖加載。

    1熱度

    1回答

    我一直在圍繞一個問題撓撓頭,現在我已經環顧四周,但未能找到答案。我想知道如果concurrencyLevel將大於地圖的capacity將會發生什麼。 默認情況下,這兩個值均爲16,表示每個存儲桶都有一個鎖。並且如果capacity將是32和concurrencyLevel 16將鎖定在2個桶上。但是當concurrencyLevel是32而capacity是16時會發生什麼? 是否每個存儲桶都由

    1熱度

    2回答

    我正在尋找一種方法來次相同的密鑰插入嘗試次數的軌道保持到Map在多線程environemnt使得Map可同時由多個線程讀取和更新。如果保持跟蹤重複密鑰插入嘗試不容易實現,則替代解決方案是在重複密鑰插入嘗試的第一個符號處終止應用程序。 以下用戶定義的單例Spring bean顯示了我的應用程序使用的全局緩存,該緩存使用多個分區的彈簧批處理作業(每個要加載的DataType需要一個作業)加載。 add

    0熱度

    1回答

    所以我認爲我有這個天才的想法來解決一個非常具體的問題,但我不能擺脫最後一個潛在的線程安全問題。我想知道你們是否有想法解決這個問題。 問題: 線程數量龐大的需要從一個HashMap中,只有很少的更新閱讀。問題在於,在ConcurrentHashMap中,即線程安全版本,讀取方法仍有可能碰到互斥體,因爲寫入方法仍然鎖定分箱(即地圖部分)。 的想法: 有2個隱藏包含HashMap作爲一個...一個線程,

    2熱度

    2回答

    我有這種場景,我從數千個來源接收事件。每個來源都發送有關其當前狀態的信息。雖然我想處理所有事件,但首先處理每個源的最新事件更爲重要,以便當前視圖處於最新狀態。所以我想使用ConcurrentHashMap,每個源的標識符作爲關鍵字,並且使用LIFO隊列(堆棧)作爲值。然後,我將遍歷Map的鍵,並從每個源的堆棧中彈出一個項目。 我擔心的是,當我遍歷鍵並從每個鍵的隊列中取出項目時,生產者可能會在隊列中

    0熱度

    1回答

    我持有對象的地圖,每次向對象添加對象時,都需要通知地圖中的所有其他對象,反之亦然。對自己 線程 進程中運行這些對象(每一個是由main啓動)可以可以調用的它們添加到地圖,以便一個對象可以迭代期間添加從添加以前的對象引起的方法。 這是一些示例代碼,我有。下面是我上面 class Notifier { String name; Hub hub; Notifier(St

    0熱度

    1回答

    雖然經歷了Java 7 ConcurrentHashMap的內部實現,但我注意到要設置新的Segment,我們使用的是Unsafe類,它執行Ordered write並使用Compare和Swap算法,從而支持非阻塞行爲。 我的疑問是,爲什麼併發HashMap中不使用比較&交換算法或類似的東西,以保持讀&寫單鏈表無阻塞,而不是獲取上段鎖,然後寫單鏈表?

    0熱度

    1回答

    正如我們所知道的,java的ConcurrentHashMap有許多內部鎖,並且每個鎖都保護着存儲區陣列的某個區域。 公共的ConcurrentHashMap(INT參數:initialCapacity, 高高飛翔loadFactor, INT concurrencyLevel) 參數:initialCapacity:16; loadFactory:0.75f; concurrencyLevel:

    1熱度

    3回答

    我有一個ConcurrentHashMap和一個方法,在地圖中放入一個字符串,然後我根據插入的值在一個同步塊中執行一些操作。 putIfAbsent返回與指定鍵關聯的先前值,或者null如果沒有映射的關鍵 - 根據官方文檔 但是也有一些基於putIfAbsent是否返回空執行2個行動或不。 現在這裏是訣竅。我想要第一個動作(當putIfAbsent返回null)首先被執行,並且所有其他線程被擱置。

    0熱度

    2回答

    我正在編寫一個使用map作爲緩存存儲的實用類。現在它將用於多線程環境。我想出了在執行put操作時使用同步hashmap或使用putIfAbsent的ConcurrentHashMap,但我仍然對它是否易於覆蓋鍵值(儘管鍵值在我的情況下是唯一的)感到困惑,並且兩者都有優點和缺點。所以我無法做出決定。可能有一些其他的緩存存儲我可以用於這個目的,但建議,但我更有興趣知道哪些將被使用CHM或哈希圖如果這是