问题描述:
如下图所示,当我在循环体里面使用异步任务的时候,发现他打印出来的都是 “我是异步任务:3”
for (int i = 0; i < 3; i++)
{
Task.Run(() => {
Console.WriteLine("我是异步任务:"+ i);
});
}

原因分析:
why:经过仔细分析:所谓异步任务,他的执行都是在异步处理,所以循环的时候他是不会有丁点卡顿的,这个时候,循环里面可以被视为没有任何的操作,那么他的循环速度是非常之快的,快到我们异步任务还在输出第一条打印文字的时候,循环已经结束了,造成输出的i值永远是3
解决方案:
