我有一個單一類處理來自運行在不同線程中的不同客戶端的訂閱和取消訂閱請求。單身人士包含一系列的訂閱者。在添加或刪除之前,該類需要驗證元素尚未被添加或刪除。什麼線程安全的收集適合這種情況?
通常我會在每次操作之前使用List或HashSet調用Contains來實現此操作,但是如果我想在System.Collections.Concurrent命名空間中使用其中一個新類,則我看到的唯一選項是使用具有虛擬值的ConcurrentDictionary。
這是我最好的選擇還是有我忽略的東西?順便說一下,性能並不是真正的考慮因素。
「和不同套,袋子支持重複。」與「在添加或刪除之前,類需要驗證元素尚未添加或刪除。」 – CodesInChaos