Софт для взаимодействия с разными интернет ресурсами обрабатывает не все данные - C#
Формулировка задачи:
Здравствуйте.
Пишу многопоточный софт, для взаимодействия с разными интернет ресурсами.
Потоки должны проходится по ArrayList() массиву и обрабатывать кое-как каждую строку, после чего записывать либо в Good, либо в Bad. Но Поток(и) часто не доделывают работу(буквально на 1-5 эл. массива) и заканчивают. Не понимаю, что не так.
так происходит вызов потоков:
вот void-функция потока:
наго*нокодил
но не знаю, почему оно, бывает, не все считает
помогите, пожалуйста!
for (int i = 0; i < Vars.ThreadCount; i++) { thread[i] = new Thread(process); thread[i].IsBackground = true; thread[i].Start(); }
private void process() { int selfIndex = 0; try { #region Stream while (true) { lock (locker) { index++; selfIndex = index; } if (selfIndex > Vars.CountAccs - 1) { Thread.Sleep(10); goto End; } //// ТУТ НАШ КОД для потока!! в качестве счетчика юзать переменную index! string link = Vars.Links[selfIndex].ToString(); ///... тут что-то происходит с переменной link Vars.Checked++; ////////////////////////////////// End: ; Thread.Sleep(500); if (selfIndex == (Vars.CountAccs - 1)) { break; } } #endregion } catch (Exception ex) { File.AppendAllText("Errors.txt","["+DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()+"]: [" + ex.StackTrace + "]:" + ex.Message + "\n"); } Vars.AreWorking = false; }
Решение задачи: «Софт для взаимодействия с разными интернет ресурсами обрабатывает не все данные»
textual
Листинг программы
if ( _countGood >= ProxyGrabber.LimitedProxy && ProxyGrabber.LimitedProxy > 0 ) Thread.CurrentThread.Abort();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д