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 desejadas.
Existe uma maneira de limitar o número de threads ou qualquer outro limitador durante a execução do Parallel.ForEach?
Código de demonstração:
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ão.