ParallelMergeOptions 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定要在查詢中使用的 輸出合併 慣用類型。 換句話說,它表示 PLINQ 應該如何將各種分割區的結果合併回單一結果序列。 這隻是提示,而且在平行處理所有查詢時,系統可能不會遵守。
public enum class ParallelMergeOptions
public enum ParallelMergeOptions
type ParallelMergeOptions =
Public Enum ParallelMergeOptions
- 繼承
欄位
| 名稱 | 值 | Description |
|---|---|---|
| Default | 0 | 使用預設的合併類型,也就是 AutoBuffered。 |
| NotBuffered | 1 | 使用沒有輸出緩衝區的合併。 結果元素一計算完成,立即將該元素提供給查詢的使用者。 |
| AutoBuffered | 2 | 使用系統自行選擇大小的輸出緩衝區合併。 結果會在查詢使用者取得前累積到輸出緩衝區。 |
| FullyBuffered | 3 | 使用包含完整輸出緩衝區的合併。 系統會在將任何結果提供給查詢使用者之前,累積所有結果。 |
備註
用於 NotBuffered 將被消耗並輸出為串流的查詢,這種方式從開始查詢執行到產生元素之間的延遲最低。 對於某些查詢,例如涉及排序(OrderBy、OrderByDescending)的查詢,緩衝是必須的,且會忽略 NotBuffered 或 AutoBuffered 的提示。 然而,使用排序運算子建立的查詢只要在查詢本身不進行進一步排序,仍可進行串流處理。
大多數情況下使用 AutoBuffered ;這是預設。 它在延遲與整體效能之間取得了平衡。
當整個輸出能在需要資訊前處理完畢時,則用於 FullyBuffered 查詢。 當所有輸出都能累積後再產生任何資訊時,此選項提供最佳效能,但不適合串流處理或在查詢中顯示部分結果。