编译器是否可以创建具有StackOverflowException的异步代码?

时间:2013-05-25 01:40:17

标签: c# stack-overflow async-await c#-5.0

参考答案:https://stackoverflow.com/a/4047607/347172


基本上,由于编译器正在创建一个使用递归的状态机,因此具有“太多await s的类可能会导致编译器生成代码会抛出异常吗?

1 个答案:

答案 0 :(得分:5)

不是你想的那样。编译器创建一个状态机,计划本身,而不是调用本身。调度创建了一个“trampoline”,它会重置堆栈。