Мой вопрос может показаться немного наивным, но я довольно новичок в многопоточном программировании.
Я пишу приложение, которое обрабатывает входящие внешние данные. Для каждой поступающей информации новая задача создается следующим образом:
System.Threading.Tasks.Task.Factory.StartNew(() => methodToActivate(data));
Элементы данных поступают очень быстро (каждую секунду, полсекунды и т. Д.), Поэтому создается много задач. Обработка каждой задачи может занять около минуты. При тестировании я увидел, что количество потоков постоянно увеличивается. Как я могу ограничить количество создаваемых задач, чтобы количество реальных рабочих потоков было стабильным и эффективным. Мой компьютер только двухъядерный.
Спасибо!