ThreadPool.QueueUserWorkItem
От: CyberRussia  
Дата: 26.10.20 10:25
Оценка:
Интернет заполнен рекомендациями: "если у вас много небольших независимых задач, которые можно / нужно запускать параллельно" используйте ThreadPool — он умница и сам справится.

Видимо я что-то сильно недопонимаю, но когда задач действительно много (сотни и больше) то ни разу не умница, и не справляется. Вешает машину, задачи вылетают по таймауту...
Пытался выставлять ограничение в ThreadPool.SetMaxThreads — в целом ситуация не решилась.
В результате загружаю в ThreadPool задачи контролируя сколько у него занято потоков, чтобы было не более Environment.ProcessorCount

Не покидает ощущение, что все-таки что-то не так делаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.