我通過LINQ查詢,像這樣像這樣有一個訂單。據我觀察,上面的代碼稱爲方法sequentally(一個電話必須完成之前,下一個被稱爲,所以如果列表很長,排序會很慢。我可以並行執行異步調用的Linq OrderBy嗎?</p> <pre><code>var sortedList = unsortedList .OrderBy(foo => foo.GetCurrentValue()) </code></pre> <p>然而,該方法GetCurrentValue響應速度很慢(因爲它涉及網絡通信,並具有相當的等待時間):
有沒有辦法告訴linq做並行?即異步計算表達式,然後每個人都完成後比較結果?
如果沒有,任何想法如何讓我們自己實現乾淨,容易嗎?
在PLINQ'(進行AsParallel)的調用來''OrderBy'查詢將自動把查詢作爲'AsOrdered' - http://msdn.microsoft.com/en-us/library/dd460677.aspx我不確定這對性能有什麼影響,但MSDN文章並不清楚。 – Snixtor
@Snixtor這是一個非常有用的鏈接,可能它會解決我的問題(現在測試)!爲什麼不把它作爲答案發布? –