Пример #1
0
        public static async Task MainAsync(string[] args)
        {
            var s         = new SocialIDS();
            var stopWatch = System.Diagnostics.Stopwatch.StartNew();
            List <List <string> > tasks = new List <List <String> >();

            for (int i = 1900; i <= 2000; i++)
            {
                tasks.Add(await Task.Run(() => s.GenerateAllWithChecksum(i)));
            }

            foreach (var item in tasks)
            {
                Console.WriteLine($"I generated {item.Count}");
            }

            stopWatch.Stop();
            Console.WriteLine($"This took {stopWatch.ElapsedMilliseconds} ms");
            Console.ReadKey();
        }
Пример #2
0
        public static async Task MainSyncParallel(string[] args)
        {
            var s         = new SocialIDS();
            var stopWatch = System.Diagnostics.Stopwatch.StartNew();
            List <Task <List <string> > > tasks = new List <Task <List <String> > >();

            List <List <string> > results = new List <List <string> >();


            await Task.Run(() =>
            {
                Parallel.For(1900, 2000, i =>
                {
                    var x = s.GenerateAllWithChecksum(i);
                    results.Add(x);
                    Console.WriteLine($"Generated for year {i} total count {x.Count}");
                });
            });

            stopWatch.Stop();
            Console.WriteLine($"This took {stopWatch.ElapsedMilliseconds} ms");
            Console.ReadKey();
        }