Salve,
ho fatto un piccolo script Console Multithread per fare un parser su una pagina Html, ed estrarre tutti i link con class="pippo".
Lo eseguo, funziona tutto, solamente che esegue un thread alla volta, non partono tutti e 10 contemporaneamente.codice:public static void Main() { Thread t; for (int i = 0; i <= 10; i++) { DataThread data = new DataThread(); t = new Thread(new ParameterizedThreadStart(TestThread)); t.Start(); } Console.ReadLine(); } public static void TestThread(object data) { HtmlWeb htmlWeb = new HtmlWeb(); string sUrl = ""; HtmlDocument doc = htmlWeb.Load("https://www.pagina.com"); foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@class='pippo']")) { sUrl = node.Attributes["href"].Value; if (sUrl != "") { Console.Write(sUrl + "\n"); } }
Io vorrei lanciare 10 richieste http e poi il tempo che impiega ciascuna per terminare sono affari suoi, non mi deve bloccare l'esecuzione del prossimo thread e cioè della richiesta http.
Come posso fare ?
Grazie molte a tutti.