Повторный запуск потоков - C#

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

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

Добрый день всем. Необходима ваша помощь в следующем вопросе. Есть некий гипотетический код:
while (true)
 {
 Thread[] Thrd = new Thread[10];
 for (int i = 0; i < 10; i++)
 {
 Thrd[i] = new Thread(f);
 Thrd[i].Start();
 }
//здесь некий код, проверяющий состояние потоков и когда завершены то переходим к задержке ниже
System.Threading.Thread.Sleep(5000);
 }
Мне необходимо чтоб создавались потоки, затем, после завершения, выполнялась пауза и цикл бы начинал все заново. Но потоки не создаются, лишь первая итерация получается. Подскажите, пожалуйста, как реализовать мою задачу правильно?

Решение задачи: «Повторный запуск потоков»

textual
Листинг программы
public void CreateThreads(Object count1)
        {
            int count = (int)count1;   
            while (true)
            {
                var list = new List<Thread>(12);                             
                for (int i = 0; i < count; i++)
                {
                    var t = new Thread(func) {IsBackground = true};
                    list.Add(t);
                    t.Start();
                }
                list.ForEach(t => t.Join());
                Thread.Sleep(5000);
            }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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