namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter19.Listing19_05
{
    using System;
    using System.Threading.Tasks;

    public class Program
    {
        public static void Main()
        {
            Console.WriteLine("Przed");
            // Aby zastosować bibliotekę TPL w wersjach starszych niż .NET 4.5, 
            // wywołaj metodę Task.Factory.StartNew<string>().
            Task taskA =
              Task.Run(() =>
               Console.WriteLine("Rozpoczynanie..."))
                .ContinueWith(antecedent =>
                Console.WriteLine("Kontynuacja zadania A..."));
            Task taskB = taskA.ContinueWith(antecedent =>
             Console.WriteLine("Kontynuacja zadania B..."));
            Task taskC = taskA.ContinueWith(antecedent =>
             Console.WriteLine("Kontynuacja zadania C..."));
            Task.WaitAll(taskB, taskC);
            Console.WriteLine("Zakończono!");
        }
    }
}