.NET Core(2,3)Task.Delay()消耗四核处理器的55%。我不知道这是否正常。如果不正常,请在哪里查找原因。测试代码:
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
while (true)
Task.Delay(1000);
}
}
答案 0 :(得分:11)
您没有延迟,您需要等待该呼叫。
尝试添加一些Console.WriteLine,您将看到代码没有延迟等待。 这里是另一个使用async和await的版本。这个等待:
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
while (true)
{
Console.WriteLine("starting the loop");
Task.Delay(1000);
Console.WriteLine("this is printed inmediately, previous delay does not stop the execution");
await Task.Delay(1000);
Console.WriteLine("this happens 1 second later, the previous delay is awaited");
}
}
}