Как организовать создание потоков? - C#

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

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

Подскажите pls как правильно организовать создание потоков если заранее неизвестно сколько их будет но алгоритм работы каждого потока одинаковый

Решение задачи: «Как организовать создание потоков?»

textual
Листинг программы
using System;
using System.Threading;
using System.Linq;
 
namespace Threads
{
    public delegate void ThreadsFunc();
 
    
    class Program
    {
        private static void Print()
        {
            Console.WriteLine("Thread number {0}",System.Threading.Thread.CurrentThread.ManagedThreadId);
            Thread.Sleep(2000);
        }
 
        static void Main(string[] args)
        {
            Console.Write("Enter the number of threads : ");
            int threadsCount = int.Parse(Console.ReadLine());
 
            IAsyncResult[] asyncRes = new IAsyncResult[threadsCount];
            ThreadsFunc func = Print;
 
            for(int i = 0; i < threadsCount; i++)
            {
                asyncRes[i] = func.BeginInvoke(null, null);
            }
            while(asyncRes.Count(x => x.IsCompleted) != threadsCount) { }
 
            Console.WriteLine("\nMain program");
            Console.ReadLine();
        }
    }
}

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


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

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

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