Threading Task оптимизация
Задача: при инициализации комнаты, в которой есть только 2 игрока, запускается задача, с методом, который описан ниже. Это тик обновления. Нужно вызывать обновление у двух игроков, при этом чтобы один не ожидал другого. В обновлениях могут быть долгие операции, такие как расчет скорости атаки и т д.
Правильно ли я реализовал подобный метод? Что будет слышно по оптимизации, когда таких комнат будет 10 тысяч?
private async Task InternalTick()
{
while (true)
{
for (int iterator = 0; iterator < _queueModels.Count; iterator++)
Task.Run(async () => await _queueModels[iterator].TickAsync());
await Task.Delay(_timeUpdateOneFrameInTheMap, _cancellationTokenSource.Token);
}
}
Источник: Stack Overflow на русском