concurrentdictionary

    2熱度

    2回答

    以下兩段代碼中的哪一段在不同情況下表現更好,爲什麼? 。 private readonly ConcurrentDictionary<int, List<T>> _coll; _coll.GetOrAdd(1, new List<T>()); 這將創建上不需要即使每次調用一個新的List(多少錢,如果我們通過capacity爲0這個說法還是有關係嗎?)。 。 private readonly

    0熱度

    1回答

    我有一個嵌套並行字典下面給出: ConcurrentDictionary<string,ConcurrentDictionary<string,<Class Object>>> 我想獲得的所有對象(內部字典的值)到列表進行進一步的處理,而不知道任何關鍵。 我嘗試以下兩種解決方案,但它不爲我工作, 外dictionary.Values.Select(x=> x.Values) foreach環

    2熱度

    2回答

    我有多個線程要求必須通過網絡加載的數據。 爲了減少網絡流量和更快的響應速度,我想要緩存通常需要的數據。我也想限制Cache的數據大小。 我的類看起來是這樣的: public class DataProvider { private ConcurrentDictionary<string, byte[]> dataCache; private int dataCacheSize

    7熱度

    3回答

    我總是困惑於挑選哪一個。當我看到它,我用了Dictionary如果List我想兩個數據類型爲Key和Value,所以我可以很容易地找到它的key值,但我總是困惑,如果我應該使用ConcurrentDictionary或Dictionary? 因爲沒有對此進行太多研究,所以我試過了,但似乎谷歌並沒有真正得到Dictionary vs ConcurrentDictionary上的任何東西,但每個人都有

    0熱度

    3回答

    我有一個併發字典>可以說對象爲工件。 我想添加一個新的對象。該對象通常包含鍵的列表,我有一個函數來獲得這些鍵。 我知道如何添加到字典如果密鑰不存在,但我不知道如何更新列表如果密鑰已經存在。任何幫助將不勝感激 public bool AddToken(Artifact artifact) { IList<string> terms = GetTerms(artifact);

    0熱度

    1回答

    我有一個我正在向其中添加元素的ConcurrentDictionary。 關鍵不是唯一的,並可能反映多個值。 我通過按鍵進行迭代,讓他們的唯一的名稱 我通過鍵的值重複,以獲得與下面的「下一步」語句值 編譯器崩潰的列表錯誤: Additional information: Conversion from string "LOS ANGELES" to type 'Integer' is not va

    1熱度

    1回答

    我想創建一個新的類,將包裝當前.net ConcurrentDictionary,以確保GetOrAdd \ AddOrUpdate的添加委託將被確保只被調用一次。我在網絡上看到了一些解決方案,主要的一點是懶惰地包裝TValue,這樣可以添加許多懶惰物品,但只有一個可以生存並調用它的價值工廠。 這裏就是我想出: public class LazyConcurrentDictionary<TKey,

    2熱度

    3回答

    我正在處理一項服務,該服務負責記錄發送到我們服務的請求。該服務正在脫機工作(正在被解僱和忘記)。 我們正在根據一些輸入參數(產品ID)將請求保存到不同的數據庫。我們不希望每次有人提出請求時都保存到數據庫中 - 我們寧願建立一些「批次」來插入,並且每N時間(比如10秒)執行InsertMany。我已經開始實施,現在我掙扎了大約2件事: 我需要使用ConcurrentDictionary嗎?看起來我會

    1熱度

    1回答

    我的webapi必須執行一組繁重的操作才能填寫請求。爲了最小化處理時間,我將「查看計數器增量」卸載到webjob。 我目前的做法是在每次請求結束時將具有userId和productId的消息排入隊列Azure存儲。 webjob函數觸發新的隊列消息,解析消息後,它向靜態併發字典中添加值(增加或增加新的值)。 我不增加和寫入到天藍色的表,因爲我想使用另一個基於計時器的webjob將值從併發字典持久化

    0熱度

    1回答

    考慮下面的代碼: // holds the actual values private volatile ConcurrentDictionary<string, Object> values; public object this[string key] { get { // exception is thrown on this lin