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