Как оптимизировать выполнения 10000 параллельных задач?
От: LWhisper  
Дата: 11.07.16 13:45
Оценка:
Всем привет.

В настоящий момент я запускаю на выполнение 10000 параллельных задач посредством new Thread(...).Start().
Вначале они дерутся за процессорное время, но вскоре повисают на ожидании чего-либо — блокировок, ответа от сокета, просто в Thread.Sleep

Существуют ли какие-либо рекомендации по оптимизации подобных сценариев? Исходим из того, что реально одновременно выполняться может не больше 128 потоков, остальное время мы вынуждены гонять контекст между ними. Но из-за вышеупомянутых задержек, 10000 потоков с постоянным переключением контекста, работают быстрее, нежели 128, которые большую часть времени жизни спят.
threading многопоточность tpl потоки thread оптимизация
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.