Wednesday, June 12, 2024

Sharplab IO

 https://sharplab.io/#gist:6a975bc7331edca112eae793d7138d48

using System;

using System.Diagnostics;

using System.Threading;

using System.Threading.Tasks;


Measure(TaskToFireAndForget1);

Measure(TaskToFireAndForget2);

Measure(TaskToFireAndForget3);


static void Measure(Func<Task> task)

{

    Stopwatch sw = Stopwatch.StartNew();

    _ = task();

    Console.WriteLine(sw.Elapsed);    

}


static async Task TaskToFireAndForget1()

{

    Thread.Sleep(200);

}


static async Task TaskToFireAndForget2()

{

    Thread.Sleep(200);

    await Task.CompletedTask;

    Thread.Sleep(200);

}


static async Task TaskToFireAndForget3()

{

    Thread.Sleep(200);

    await Task.Yield();

    Thread.Sleep(200);

}

No comments:

Post a Comment