Здравствуйте, TK, Вы писали:
TK>Привет всем,
TK>Небольшой тест на использование TPL и тому подобных библиотек и что будет если агентов будет мало или слишком много...
TK>Идея простая: данные падают в очередь там разбираются на n воркеров, после обработки (5ms) каждым воркером сливаются обратно.
Правильно понял, что весь код можно на .net сделать так:
private static async Task<int> Test(int iterations)
{
var results = await Task.WhenAll(
Enumerable.Range(0, iterations)
.Select(x =>
Task.Run(async () => {
await Task.Delay(TimeSpan.FromSeconds(5));
return x;
})));
return results.Sum();
}
?
Количество реальных воркеров в любом случае система выбирает, поэтому нет смысла делать воркеры разными, если они все делают одно и то же.