2012-10-10 39 views

回答

2

簡短回答:沒有,你必須去度假lock

即使在新的命名空間System.Collections.Concurrent中有線程安全集合,線程安全版本SortedList<T, U>也不存在。 如果您需要保護SortedList<T, U>的每個調用lockReadWriterLockSlim(如果適用),或者爲SortedList<T, U>創建線程安全包裝(與Synchronized()一樣),以保護每個調用。

再回應:不,你沒有什麼準備,但你可以使用共同OrderablePartitioner<TSource>(提取每次一個項目)和ConcurrentBag<T>達到同樣的效果。坦率地說,我不知道這個策略是否有任何ROI,因爲如果你不需要分區器,那麼你簡單地增加一些不應該的複雜性。