示例#1
0
 /// <summary>
 /// for some randomness lets randomly simulate an influx of bot creations by creating them inparallel
 /// </summary>
 /// <param name="_random"></param>
 /// <param name="_httpClient"></param>
 /// <param name="_botGenerator"></param>
 /// <returns></returns>
 private static void InParallel(Random _random, HttpClient _httpClient, BotGenerator _botGenerator)
 {
     Parallel.For(_random.Next(0), 4, async(i) =>
     {
         if (_botGenerator.GetRandomActorType() == ActorType.Robot)
         {
             await new ErrandGenerator(await _botGenerator.CreatRobot(), _random, _httpClient).DoRandomThingsRobot();
         }
         else
         {
             await new ErrandGenerator(await _botGenerator.CreatCyborg(), _random, _httpClient).DoRandomThingsCyborg();
         }
     });
 }
示例#2
0
        private static async Task Asynchronously(Random _random, HttpClient _httpClient, BotGenerator _botGenerator)
        {
            var tasks = new List <Task>();

            for (int i = 0; i < _random.Next(5); i++)
            {
                if (_botGenerator.GetRandomActorType() == ActorType.Robot)
                {
                    tasks.Add(new ErrandGenerator(await _botGenerator.CreatRobot(), _random, _httpClient).DoRandomThingsRobot());
                }
                else
                {
                    tasks.Add(new ErrandGenerator(await _botGenerator.CreatCyborg(), _random, _httpClient).DoRandomThingsCyborg());
                }
            }
            await Task.WhenAll(tasks);
        }