Hola, yo con hilos he trabajado muy poco en mi corta vida, pero creo que con semáforos podés hacer lo que necesitás.Necesito ayuda con este inconveniente por favor:
Tengo esta clase:
public class UrlFetcher
{
string url;
public UrlFetcher (string url)
{
this.url = url;
}
public void Fetch()
{
// aqui se hace algo con la url
}
}
Y en una clase diferente tengo esto:
foreach(string myUrl in ListOfUrls)
{
UrlFetcher fetcher = new UrlFetcher (myUrl);
new Thread (new ThreadStart (fetcher.Fetch)).Start();
}
Estoy trabajando con el framework 1.1 asi que esta es una de las opciones para "enviar" parametros a un hilo.
Digamos que en "ListOfUrls" hay 200 items, y por cada item o url envío un hilo pero no puedo enviar los 200 hilos de una como sucede en el ejemplo anterior sino que debo hacerlo por partes, ejemplo: Enviar 10 hilos y esperar a que terminen para continuar con los otros 10 hilos y asi hasta evacuar todos los items, como puedo hacer esto? Cualquier ayuda que me puedan dar se los agradeceré.
Acá está un link traducido de portugués a español que encontré al respecto, fijate si te sirve:
http://techblog.desenvolvedores.net/2011/04/21/controlando-threads-com-semaforos-c/
Si no sale traducido, GChrome te hace el favor. Igual si no hacés una búsqueda sobre ese tema y mirás si te sirve.