Como posso limitar Parallel.ForEach?

Eu tenho um loop assíncrono Parallel.ForEach () com o qual baixo algumas páginas da web. Minha largura de banda é limitada para que eu possa baixar apenas x páginas por vez, mas o Parallel.ForEach executa uma lista completa de páginas da web desejada

Existe uma maneira de limitar o número de threads ou qualquer outro limitador durante a execução do Parallel.ForEac

ódigo @Demo:

Parallel.ForEach(listOfWebpages, webpage => {
  Download(webpage);
});

A tarefa real não tem nada a ver com páginas da Web, portanto, soluções criativas de rastreamento da Web não ajudarã

questionAnswers(8)

yourAnswerToTheQuestion