簡體   English   中英

TPL 數據流控制嵌套塊之間的最大並行度

[英]TPL Dataflow controlling max degree of parallelism between nested blocks

假設我有一個動作塊 A,它並行執行一些工作,最大並行度為 4。

假設我有這樣的情況,其中動作塊 A 在某些情況下正在執行 X,而在其他情況下執行 Y。 X 是一些小工作,Y 是一些較大的工作,需要將其拆分為較小的工作塊,因此我也需要將它們並行化。
因此,內部工作 YI 需要將工作塊並行化到最大程度為 4,但此時我可能有 4 個 A 塊並行執行,這可能導致例如“AX、AX、AY、AY”並行運行。 這將導致 1 + 1 + 4 + 4 個並行任務,這對於我的目的來說太多了,因為我總是將其限制為最多 4 個(或任何其他選擇的數字)。

有沒有辦法控制包括嵌套塊在內的最大並行度?

在 TPL Dataflow 中創建塊時,您可以通過它的 options為塊指定自定義調度程序。

限制並發任務數量和並發級別的簡單方法是在代碼中使用ConcurrentExclusiveSchedulerPair以及您需要的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM