Здравствуйте, Codealot, Вы писали:
C>Нужно в цикле извлекать из очереди задачи и выполнять параллельно, но не больше N задач одновременно. И нужно добавлять новые задачи в хвост очереди.
C>Есть готовые решения?
Автор темы ушел на неделю в бан. Приходя на форум с вопросами нужно уважительно относиться к коллегам.
Здравствуйте, VladD2, Вы писали:
VD>Ты утверждаешь, ты и должен объяснять.
Если одна подсистема забьет глобальный пул тредов — вся остальная прога встанет раком. Казалось бы, такие азы должны быть очевидны.
VD>И немного корону поправь. А то она у тебя на уши съезжает.
Вернемся немного назад. Я задал вопрос о готовой реализации для этой задачи. Каковая задача совершенно нетривиальна, если делать ее с умом.
Вместо этого, Pzz и ты начали придумывать отсебятину, которая по вашему мнению должна быть ничем не хуже. Крайне примитивную и дубовую отсебятину. И теперь ты возмущаешься, почему я не согласен, что ваша отсебятина — лучше не бывает, и никакие готовые решения не нужны.
Так что ты там про корону писал?
Здравствуйте, Codealot, Вы писали:
C>Если одна подсистема забьет глобальный пул тредов — вся остальная прога встанет раком. Казалось бы, такие азы должны быть очевидны.
Еще раз. Ты должен объяснить особенности своей системы. Создать универсальное решение годящееся на все случаи жизни невозможно. По этому для того, чтобы тебе посоветовали что-то дельное, ты должен максимально детально описать свою задачу.
Правильно поставленный вопрос — это половина ответа. ©
Разных подходов много. Дотнетный пул и так автоматически загружает все доступные процессоры. Рассуждения о Work stealing тут не о чем.
C>Вернемся немного назад.
ОК
C>Я задал вопрос о готовой реализации для этой задачи.
Ты описал крайне абстрактную задачу без каких либо подробностей:
Нужно в цикле извлекать из очереди задачи и выполнять параллельно, но не больше N задач одновременно. И нужно добавлять новые задачи в хвост очереди.
Есть готовые решения?
Тебе резонно ответили, что в такой постановке вопроса задача выеденного яйца не стоит:
Неужели это требует больше 50-и строк кода? Неужели в современном мире написать 50 строк кода считается настолько греховным занятием, что избежание оного оправдывает усилия на поиск готового решения?
На что ты сразу же ответил хамством:
https://rsdn.org/forum/dotnet/8860126.1
Тебе попытались что-то объяснить, но тщетно. Ты начал здесь хамить уже с квантором всеобщности.
После чего я счел тебя невменяемым и дал время на приход в себя.
Баны у нас квадратичные. Так что ты улетел сразу на неделю.
C> Каковая задача совершенно нетривиальна, если делать ее с умом.
Возможно. Но её нетривиальность нужно объяснить. Составить требования (т.з.), в которых описать все необходимые нюансы.
Форумчане не знаю делаешь ли ты какую-то отдельную утилиту или часть в большой многопоточной системе. Не знают, что за данные обрабатываются. Каковы конечные цели.
C>Вместо этого, Pzz и ты начали придумывать отсебятину, которая по вашему мнению должна быть ничем не хуже. Крайне примитивную и дубовую отсебятину. И теперь ты возмущаешься, почему я не согласен, что ваша отсебятина — лучше не бывает, и никакие готовые решения не нужны.
C>Так что ты там про корону писал?
Еще раз. Если ты вменяемый человек, то должен понять, что тебе говорят. В твоем описании ничего сложного нет. Если есть какие-то не описанные тобой, но подразумеваемые нюансы и нужно их описать. И тогда ни никто не будет у тебя спрашивать, зачем ты сюда пришел со столь примитивным вопросом.
Ты вместо того, чтобы понять, что описал задачу слишком поверхностно, начал хамить. Если бы ты в ответ на замечание Pzz объяснил бы в чем сложность, был бы конструктивный разговор. Ты пришел спрашивать. Если тебе не нравится ответ, просто пойди мимо или культурно объясни, что тебя не устраивает. А когда начинаешь тут говорить, что "здесь все шибко умные, а все программы говно", то не обессудь.
А вот это мы здесь допускать не будем. (ц)