Example #1
0
        static void FullySynchronous()
        {
            IFileHierarchyReader reader = new FileHierarchyReader();
            var content = reader.ReadFileHierarchy("file1a.txt");

            Console.WriteLine($"Result: {content}");
            Console.WriteLine();
        }
Example #2
0
        static void SpawnAnotherThread()
        {
            IFileHierarchyReader reader             = new FileHierarchyReader();
            Func <string>        simpleReadDelegate = () => reader.ReadFileHierarchy("file1a.txt");
            Task <string>        simpleReadTask     = Task.Run(simpleReadDelegate);
            string result = simpleReadTask.GetAwaiter().GetResult();

            Console.WriteLine($"Result: {result}");
            Console.WriteLine();
        }
Example #3
0
        static void UseAsyncAwait()
        {
            IFileHierarchyReader reader = new FileHierarchyReader();

            Task <string> asyncTaskA = reader.ReadFileHierarchyAsync("file1a.txt");
            Task <string> asyncTaskB = reader.ReadFileHierarchyAsync("file1b.txt");

            Task <string[]> combinedTasks = Task.WhenAll(asyncTaskA, asyncTaskB);

            string[] combinedResult = combinedTasks.GetAwaiter().GetResult();

            combinedResult.ToList().ForEach(t => Console.WriteLine($"Combined Result: {t}"));
        }