2012-04-07 32 views
1

使用PLINQ根據構建它們的方式,C#並行查詢是有序的或無序的。有一些信息on MSDN here regarding order preservation in PLINQ有序和無序並行集合在C#中有不同的類型嗎?

我覺得這很容易管理。在我的腦海裏集合,其中的順序是顯著是序列和收藏其中順序並不顯著的(或者,如果有沒有重複,那麼他們就可能)。

袋子和序列的操作是不同的,並且具有不同的複雜性特徵,特別是當被實現爲並行算法時。

換句話說,我認爲有序和無序的集合應該是不同的類型,這將簡化事情。是否有理由將PLINQ中的所有內容統一爲「ParallelQuery()」?

回答

2

有,爲什麼在PLINQ一切都統一爲一個簡單的理由 「ParallelQuery()」

所以,很簡單。我想有兩種類型是可能的,但費用相當可觀。它會更容易使用嗎?

當你在Parallel中處理一個序列時,默認情況下你放棄了Order。你應該知道,重新建立序列是昂貴的,它應該需要一些額外的步驟。

但是,當您需要它時,添加一個​​似乎比將數據先複製(!)到另一個集合要少得多。

相關問題