У меня есть эта консольная программа:
using System;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Task[] t =
{
Run()
};
Task.WaitAll(t);
Console.ReadLine();
}
private static async Task Run()
{
Console.WriteLine($"Running");
await Task.Delay(100);
Run();
}
}
}
По какой-то причине, когда я отлаживаю это и смотрю на график для Process Memory (MB)
, он немного поднимается.
Но когда я делаю снимки и смотрю на использование памяти, я не вижу различий.
Кто-нибудь может объяснить мне, почему это происходит?
И есть ли что-нибудь, что я могу сделать, чтобы не дать ему подняться?
Edit:
Я попытался добавить целое число и увеличить его в run и уменьшить его после вызова Run ().
static int k = 0;
private static async Task Run()
{
k++;
Console.WriteLine($"{k} Running");
await Task.Delay(100);
Run();
k--;
}
Вот что печатает: