Re[7]: много Thread или ThreadPool
От: RushDevion Россия  
Дата: 23.02.18 15:03
Оценка:
RD>>Реализацию бы, конечно, посмотреть.
RD>>Я так понимаю, либо для каждого work item'a ранится отдельный поток (или таска), который пытается захватить семафор перед началом обработки.
A>Да, этот вариант верный.
RD>> в первом случае может получить напрасно простаивающие потоки, если продьюсер генерит данные быстрее, чем их успевают обработать.
A>около 90% случаев данные обрабатываются быстрее, чем их генерят.

Тоже рабочий вариант, но как говориться, есть нюансы
Во-первых, рабочие потоки какое-то время могут простаивать.
Например, если данных для обработки пока что нет — наши 50-100 потоков тупо ждут на мониторе.
А могли бы делать что-то полезное
Во-вторых, если говорить об эффективности, то оверхед на захват монитора — это ~ 250ms. А Interlocked-операция ~10ns.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.