我有一個Parallel.ForEach()異步循環,我下載了一些網頁。我的帶寬有限,所以我只能每次下載x頁,但是Parallel.ForEach執行所需網頁的整個列表。如何限制Parallel.ForEach?
有沒有辦法在運行Parallel.ForEach時限制線程數或任何其他限制器?
演示代碼:
Parallel.ForEach(listOfWebpages, webpage => {
Download(webpage);
});
真正的任務無關與網頁,太有創意了網頁抓取的解決方案也無濟於事。
我看到你的清單上執行的Parallel.ForEach() - 我太喜歡住危險。 – jKlaus 2015-12-02 18:16:19
@jKlaus如果列表未被修改,例如這只是一組網址,我真的不明白這個問題? – Shiv 2016-02-11 04:54:24
@Shiv,給你足夠的時間你會......計算你的執行次數,並將它與列表的計數進行比較。 – jKlaus 2016-02-11 13:49:17