我正在研究一個多線程應用程序,其中我從外部源加載數據並將它們存儲在內部集合中。 這些集合每X分鐘更新一次,方法是再次加載外部提要中的所有數據。 這些集合中沒有其他添加/刪除,只是閱讀。更新併發集合
通常我會在更新過程中使用鎖定,與我在訪問集合時無處不在。
問:
千萬的併發集合使我的生活更容易在這種情況下? 基本上我看到兩種方法
負載從外部引入的數據,然後除去不存在的項目了,添加缺少的,並更新了改變 - 我想這是與同時幫助一個很好的解決方案收集(不需要鎖定,對嗎?),但它需要我的代碼太多。我只能用舊的集合對象覆蓋舊的集合對象(例如_data = new ConcurentBag(newData)。在這裏我確信使用併發集合根本沒有優勢,我是對的嗎?鎖定機制是必需的。
是否有現成的解決方案,我可以使用,使用併發收集的?我不希望再推倒重來。
這是不是很清楚你的問題是什麼。你有一個對象的集合,你正在尋找一個基本上'合併' - '主'集合與'下載'集合的解決方案。所以這些問題基本上是 - 我如何將c#中的2個集合與1行代碼合併?是對的嗎 ? – Marty