¿Cómo puedo limitar Parallel.ForEach?

Tengo un bucle asíncrono Parallel.ForEach () con el que descargo algunas páginas web. Mi ancho de banda es limitado, por lo que puedo descargar solo x páginas por vez, pero Parallel.ForEach ejecuta una lista completa de las páginas web deseadas.

¿Hay alguna forma de limitar el número de hilos o cualquier otro limitador mientras se ejecuta Parallel.ForEach?

ódigo @Demo:

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

a tarea real no tiene nada que ver con las páginas web, por lo que las soluciones creativas de rastreo web no ayudarán.

Respuestas a la pregunta(8)

Su respuesta a la pregunta