void SearchThread()//Метод пошуку, який виконуэтся в заданих потоках
        {
            while  (linkComplete < total) //Виконуєтся доки є можливість наявності посилань для обробки
            {
                bool work = false;
                LinkStat link = new LinkStat();
                lock (lockCurentEl)
                {
                    if (curentEl < total) //Перевірка наявності не обробленних посилань
                    {
                        link = links[curentEl];
                        curentEl++;
                        work = true;
                    }
                }
                if (work) //Пошук текста за посиланням
                {
                    link.Status = "Loading";
                    WebClient web = new WebClient();
                    try
                    {
                        //Завантаження сторінки за посиланням
                        string html = web.DownloadString(link.Link);
                        string nohtml = DeleteTags(html);
                        //Пошук текста на сторінці
                        if (nohtml.IndexOf(text) == -1)
                        {
                            link.Status = "Not fond";
                        }
                        else
                        {
                            link.Status = "Find";
                        }
                        //Пошук посилань на сторінці 
                        Match m = Regex.Match(html, linkpattern);
                        while (m.Success)
                        {
                            lock (lockTotal)
                            {
                                if (total < linkNum)
                                {
                                    links.Add(new LinkStat() { Link = m.Value, Status = "Wait" });
                                    total++;
                                    m = m.NextMatch();
                                }
                                else
                                    break;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        link.Status = ex.Message;
                    }
                    finally
                    {
                        lock (locklinkComplete) //Збільшення кількості обробленних посилань
                        {
                            linkComplete++;
                        }
                    }
                }

            }
        }
       public void Start(MainWindow win,string url, int thrNum, string searchText, int urlNum )//Метод запуску потоків, або оновлення їх роботи
        {
            window = win;
            if (status == 0)//Стоврення потоків обробки, а також ініціалізація змінних
            {
                threadsNum = thrNum;
                text = searchText;
                linkNum = urlNum;
                links = new List<LinkStat>(linkNum);
                LinkStat link = new LinkStat() { Link = url, Status = "Wait" };
                links.Add(link);
                total = 1;
                curentEl = 0;
                linkComplete = 0;
                mainThread = new Thread(ControlThread);
                mainThread.Start();
                threads = new Thread[threadsNum];
                for (int i = 0; i < threadsNum; i++)
                {
                    threads[i] = new Thread(SearchThread);
                    threads[i].Start();
                }
            }
            else
            {   //Відновлення роботи потоків вразі їх зупинки
                mainThread.Resume();
                for (int i = 0; i < threadsNum; i++)
                {
                    threads[i].Resume();
                }
            }
           

        }