@maffiozi

Как организовать многопоточный запуск метода с ограниченным кол-вом потоков?

using System;
using System.IO;
using System.Threading;
using System.Collections.Generic;


namespace Many
{
    class MainClass(string[] args)
    {
        public static void Main(string[] args)
        {
            List<int> urls = new List<int>(){1,2,3,4,5,6,7,8,9,10};

            foreach (int e in urls){
                CheckUrl(int e);
            }

        }

        public static void CheckUrl(int e)
        {
            Console.WriteLine("Job" + e);

        }
}


Подскажите как обработать метод CheckUrl допустим в 50 потоков, что бы не создавать их вот таким образом
Thread thread = new Thread(CheckUrl);
            thread.Start();

50 штук, может быть есть что то более универсальное, буду благодарен на основе моего примера если подскажите.
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@kttotto
пофиг на чем писать
Parallel.ForEach(urls, new ParallelOptions { MaxDegreeOfParallelism = 50 }, url =>
	{
		CheckUrl(url);
	}
);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Используйте ThreadPool
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы