Как организовать создание потоков? - 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();
}
}
}