У меня возник вопрос о программистах .NET 4.0 TPL. Я создал этот тестер стресса TPL и ThreadPool, где я запускаю тесты X, каждый тест выполняет Y количество задач, когда заканчивается, он продолжает следующий тест.TPL threads count
Проблема у меня в том, что если в одном тесте запущено 100 задач, следующий тест добавит больше задач и т. Д., Оставив меня с огромным количеством потоков.
(Количество потоков, которые я взял, взято из Resource Monitor).
псевдо-код:
while (tasksLeftToRun != 0)
{
var nextTask = new Task(new Action(()=>
{
Thread.Sleep(20);
}), cancellationToken);
nextTask.Start();
nextTask.ContinueWith((t) =>
{
//...
},TaskScheduler.Default);
tasksLeftToRun--;
}
около 15 секунд после того, как приложение завершит с испытаниями, количество нитей падает до ~ 7.
Спасибо!
Это было [задано до ответа] (http://stackoverflow.com/questions/14039051/parallel-foreach-keeps-spawning-new-threads) –