internal static async void PrepareBreakfast()
        {
            Task <List <Ei> >          eierTask  = BrateEierAsync(2);
            Task <List <Speck> >       speckTask = BrateSpeckAsync(3);
            Task <List <Brotscheibe> > brotTask  = BrotMitButterUndMarmelade(2);


            // Tasks ausführen / Frühstück servieren
            Saft osaft = SchenkeOsaftEin();

            Console.WriteLine("Osaft ist fertig");

            // gestartete Aufgaben zum Ende bringen, Variante 1
            //List<Brotscheibe> brotscheiben = await brotTask;
            //Console.WriteLine("Brot ist fertig geschmiert");
            //List<Ei> eier = await eierTask;
            //Console.WriteLine("Eier sind fertig");
            //List<Speck> speckscheiben = await speckTask;
            //Console.WriteLine("Speck ist fertig");

            // gestartete Aufgaben zum Ende bringen, Variante 2
            await Task.WhenAll(brotTask, eierTask, speckTask);

            Console.WriteLine("Brot ist fertig geschmiert");
            Console.WriteLine("Eier sind fertig");
            Console.WriteLine("Speck ist fertig");

            Kaffee tasse = SchenkeKaffeeEin();

            Console.WriteLine("Kaffee ist fertig");

            Console.WriteLine("Frühstück ist fertig!");
        }
Example #2
0
        private static Kaffee SchenkeKaffeeEin()
        {
            Console.WriteLine("Kaffee wird eingeschenkt");
            Kaffee kaffee = new Kaffee();

            return(kaffee);
        }
        private static Kaffee SchenkeKaffeeEin()
        {
            stopwatch.Start();
            Thread.Sleep(1000);
            Console.WriteLine("Kaffee wird eingeschenkt");
            Kaffee kaffee = new Kaffee();

            stopwatch.Stop();
            return(kaffee);
        }
Example #4
0
        static async Task Main(string[] args)
        {
            #region Klasse Task
            Console.WriteLine("\n ### Klasse Task ###");
            MyTask.DemonstrateTask();
            #endregion

            #region Frühstück
            Console.WriteLine("\n ### Frühstück ###");
            // Tasks anlegen
            // äquivalent zu Func<string>:
            Task <List <Ei> >          eierTask  = BrateEierAsync(2);
            Task <List <Speck> >       speckTask = BrateSpeckAsync(3);
            Task <List <Brotscheibe> > brotTask  = BrotMitButterUndMarmelade(2);


            // Tasks ausführen / Frühstück servieren
            Saft osaft = SchenkeOsaftEin();
            Console.WriteLine("Osaft ist fertig");

            // gestartete Aufgaben zum Ende bringen, Variante 1
            //List<Brotscheibe> brotscheiben = await brotTask;
            //Console.WriteLine("Brot ist fertig geschmiert");
            //List<Ei> eier = await eierTask;
            //Console.WriteLine("Eier sind fertig");
            //List<Speck> speckscheiben = await speckTask;
            //Console.WriteLine("Speck ist fertig");

            // gestartete Aufgaben zum Ende bringen, Variante 2
            await Task.WhenAll(brotTask, eierTask, speckTask);

            Console.WriteLine("Brot ist fertig geschmiert");
            Console.WriteLine("Eier sind fertig");
            Console.WriteLine("Speck ist fertig");

            Kaffee tasse = SchenkeKaffeeEin();
            Console.WriteLine("Kaffee ist fertig");

            Console.WriteLine("Frühstück ist fertig!");

            Console.ReadKey();
        }