c# - 调试时进程内存增加
问题描述
我有这个控制台程序:
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)
它略有上升。
但是当我拍摄快照并查看内存使用情况时,我看不到任何差异。
谁能解释一下为什么会涨?还有什么我可以做的来阻止它上升吗?
编辑: 我尝试添加一个整数并在运行中增加它并在 Run() 调用之后减少它。
static int k = 0;
private static async Task Run()
{
k++;
Console.WriteLine($"{k} Running");
await Task.Delay(100);
Run();
k--;
}
这是它打印的内容:
解决方案
推荐阅读
- c - 将 char 指针传递给 C 中的函数。只取第一个位置
- javascript - 如何使用 .css 函数通过 jquery 切换 css
- javascript - 为什么 JavaScript 的逻辑 AND (&&) 与 if 条件不一样?
- java - 将收藏的项目保存和检索到 firebase-database
- oracle - 确定支持哪些 ora_type 值
- python - 是否可以继承 win32serviceutil.ServiceFramework 的子类?
- elasticsearch - 创建弹性搜索域的 Terraform 配方似乎挂起
- mysql - 如何在联接表中汇总过去 12 个月的数据
- mysql - 发生数据库错误错误号:1055,按子字符串分组
- java - 如何从@Component 调用@Service 方法