тік = URLs.Dequeue ();
}. WriteLine (URL + "- старт завантаження ...");
// завантажуємо страніцуrequest = WebRequest.Create (URL); response = (HttpWebResponse) request.GetResponse (); HTML = (new StreamReader (response.GetResponseStream ())). ReadToEnd ();
// блокуємо список викачаних сторінок, і заносимо туди свою сторінку (HTMLlocker). Add (HTML);
//. WriteLine (URL + "- завантажений (" + HTML.Length + "байт)");
} (ThreadAbortException)
{
// це виняток виникає якщо головний потік хоче завершити додаток
// просто виходимо з циклу, і завершуємо виконання;
} (Exception ex)
{
// в процесі роботи виникло виключення
// заносимо помилку в чергу помилок, попередньо залочений її (exceptions). Enqueue (ex);
// беремо наступний URL;
}
// встановлюємо прапорець хендла, що б повідомити головному потоку про те, що ми відпрацювали
((ManualResetEvent) handle). Set ();
}
}
}