Запуск потоков в цикле: не срабатывает условие выполнения цикла - C#

Узнай цену своей работы

Формулировка задачи:

есть метод, запускающий выполнение каждой итерации в отдельном потоке:
        private void ThreadSend(String text)
        {
            for (int i = 0; i < connectedUsers.Count; i++)
            {
                Thread thread = new Thread(delegate() 
                    {
                        SendTextNEW(connectedUsers[i], text);
                    });
                thread.Start();
            }
        }
до некоторых пор всё работало нормально. не знаю что я натворил, но теперь условие выполнения цикла ( i < connectedUsers.Count не срабатывает, т.е. при connectedUsers.Count = 1 (1<1) выполняется тело цикла , понятное дело с ошибкой OutOfRange. если тело цикла выполнять в основном потоке, то всё работает правильно. вопрос: почему не срабатывает условие выполнения цикла?

Решение задачи: «Запуск потоков в цикле: не срабатывает условие выполнения цикла»

textual
Листинг программы
        private void MyThreadMethod(object param) {
            SendTextNEW((ConnectedUser)param, text);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы