示例#1
0
        static async Task Main(string[] args)
        {
            Cafe cup = HacerCafe();

            Console.WriteLine("cafe listo");
            Task <Huevos> eggsTask  = FreirHuevos(2);
            Task <Bacon>  baconTask = FreirBacon(3);

            Task <Tostada> toastTask = TostarPan(2);
            Tostada        toast     = await toastTask;

            await AplicarMantequilla(toast);

            AplicarJamon(toast);
            Console.WriteLine("tostadas preparadas");
            Zumo oj = HacerZumo();

            Console.WriteLine("zumo en su punto");

            Huevos eggs = await eggsTask;

            Console.WriteLine("huevos listos");

            Bacon bacon = await baconTask;

            Console.WriteLine("bacon listo");

            Console.WriteLine("desayuno preparado!");
        }
示例#2
0
        static async Task Main(string[] args)
        {
            Cafe cup = HacerCafe();

            Console.WriteLine("cafe listo");
            var eggsTask  = FreirHuevos(2);
            var baconTask = FreirBacon(3);
            var toastTask = HacerTostadasConMantequillaYJamon(2);

            var allTasks = new List <Task> {
                eggsTask, baconTask, toastTask
            };

            while (allTasks.Any())
            {
                Task finished = await Task.WhenAny(allTasks);

                if (finished == eggsTask)
                {
                    Console.WriteLine("huevos listos");
                    allTasks.Remove(eggsTask);
                    var eggs = await eggsTask;
                }
                else if (finished == baconTask)
                {
                    Console.WriteLine("bacon listo");
                    allTasks.Remove(baconTask);
                    var bacon = await baconTask;
                }
                else if (finished == toastTask)
                {
                    Console.WriteLine("tostadas preparadas");
                    allTasks.Remove(toastTask);
                    var toast = await toastTask;
                }
                else
                {
                    allTasks.Remove(finished);
                }
            }

            Zumo oj = HacerZumo();

            Console.WriteLine("zumo en su punto");
            Console.WriteLine("desayuno preparado!");
        }
        static async Task Main(string[] args)
        {
            Cafe cup = HacerCafe();

            Console.WriteLine("cafe listo");
            Task <Huevos> eggsTask  = FreirHuevos(2);
            Task <Bacon>  baconTask = FreirBacon(3);

            var toastTask = HacerTostadasConMantequillaYJamon(2);

            Zumo oj = HacerZumo();

            Console.WriteLine("zumo en su punto");

            await Task.WhenAll(eggsTask, baconTask, toastTask);

            Console.WriteLine("huevos listos");
            Console.WriteLine("bacon listo");
            Console.WriteLine("tostadas preparadas");
            Console.WriteLine("desayuno preparado!");
        }
示例#4
0
        static void Main(string[] args)
        {
            Cafe cup = HacerCafe();

            Console.WriteLine("cafe listo");
            Huevos eggs = FreirHuevos(2);

            Console.WriteLine("huevos listos");
            Bacon bacon = FreirBacon(3);

            Console.WriteLine("bacon listo");
            Tostada toast = TostarPan(2);

            AplicarMantequilla(toast);
            AplicarJamon(toast);
            Console.WriteLine("tostadas preparadas");
            Zumo oj = HacerZumo();

            Console.WriteLine("zumo en su punto");

            Console.WriteLine("desayuno preparado!");
        }