Example #1
0
        static async Task Main(string[] args)
        {
            Breakfast breakfast = Util.Extensions.ObjectExtensions.NewObject <Breakfast>();

            var coffeeTask = breakfast.PourCoffee();
            var juiceTask  = breakfast.PourJuice();
            var eggTask    = breakfast.FryEggs(5);
            var baconTask  = breakfast.FryBacon(6);
            var toastTask  = breakfast.ToastBread(6);

            var brakfastTasks = new List <Task> {
                coffeeTask, juiceTask, eggTask, baconTask, toastTask
            };

            while (brakfastTasks.Count > 0)
            {
                Task finishedTask = await Task.WhenAny(brakfastTasks);

                if (finishedTask == eggTask)
                {
                    Console.WriteLine("All Eggs are readey");
                }
                else if (finishedTask == baconTask)
                {
                    Console.WriteLine("All Bacons are ready");
                }
                else if (finishedTask == toastTask)
                {
                    Console.WriteLine("Toasts are ready");
                }
                else if (finishedTask == coffeeTask)
                {
                    Console.WriteLine("Cooffffffeee");
                }
                else if (finishedTask == juiceTask)
                {
                    Console.WriteLine("im dirsty  glook gloook");
                }
                brakfastTasks.Remove(finishedTask);
            }
            Console.WriteLine("Breakfast finished");
        }
Example #2
0
 static void Main(string[] args)
 {
     Breakfast breakfast = new Breakfast();
 }