Нужно сделать чтобы в цикле работало не более 10-ти потоков - C#

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

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

Доброго времени. Возник коллапс мыслительного процесса. Прошу помощи или совета... Есть цикл foreach
foreach (string s in P(allSumbols, o))
                {
                        t = new Thread(delegate() { Write(s); });
                        t.Start();
                }
в цикле запускается поток передающий данные в Write(). Мне нужно сделать что бы в цикле работало не более 10-ти потоков, естественно с разными

s

и при окончании одного из них открывался следующий/новый.. Заранее признателен!..

Решение задачи: «Нужно сделать чтобы в цикле работало не более 10-ти потоков»

textual
Листинг программы
        private const int nWorkerThreads = 10;
        private const int nCompletionPortThreads = 10;
 
        static void Main(string[] args)
        {
            ThreadPool.SetMaxThreads(nWorkerThreads, nCompletionPortThreads);
            ThreadPool.QueueUserWorkItem(Display);
        }
 
        private void Display(object state)
        {
            for (int o = 2; o < leng; o++)
            {
                foreach (string s in P(allSumbols, o))
                {
                    Console.WriteLine(s);
                }
                Console.ReadKey();
            }
        }

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


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

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

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