C # -Four Patterns w wykonaniu asynchronicznym

Słyszałem, że w asynchronicznym wykonaniu są cztery wzorce.

„Istnieją cztery wzorce w wykonywaniu delegatów asynchronicznych: odpytywanie, oczekiwanie na zakończenie, powiadomienie o zakończeniu i„ Ogień i zapomnij ”.

Kiedy mam następujący kod:

class AsynchronousDemo
{
    public static int numberofFeets = 0;
    public delegate long StatisticalData();

    static void Main()
    {
        StatisticalData data = ClimbSmallHill;
        IAsyncResult ar = data.BeginInvoke(null, null);
        while (!ar.IsCompleted)
        {
            Console.WriteLine("...Climbing yet to be completed.....");
            Thread.Sleep(200);

        }
        Console.WriteLine("..Climbing is completed...");
        Console.WriteLine("... Time Taken for  climbing ....{0}", 
        data.EndInvoke(ar).ToString()+"..Seconds");
        Console.ReadKey(true);

    }


    static long ClimbSmallHill()
    {
        var sw = Stopwatch.StartNew();
        while (numberofFeets <= 10000)
        {
            numberofFeets = numberofFeets + 100;
            Thread.Sleep(10);
        }
        sw.Stop();
        return sw.ElapsedMilliseconds;
    }
}

1) Jaki jest wzór zaimplementowanego powyższego kodu?

2) Czy możesz wyjaśnić kod, jak mogę wdrożyć resztę ..?

questionAnswers(3)

yourAnswerToTheQuestion