我有无尽的过程可以使用下一个逻辑(注意ServiceUtilities_OnReSubscribing
到timer_Elapsed
之间的循环) - 当在ServiceUtilities_OnReSubscribing中引发异常时,它会创建一个新的计时器{{1并且在结束时#34;如果发生“事件”,则会调度对ServiceUtilities_OnReSubscribing的调用。
我想知道C#堆栈在这种情况下是如何表现的,它被认为是递归吗?
t
我想避免由于许多递归调用而导致堆栈跟踪变满的情况。 这段代码是否被视为递归?
答案 0 :(得分:1)
您的timer_Elapsed
方法是从计时器线程调用的,因此它与ServiceUtilities_OnReSubscribing
不在同一个调用堆栈中。
因此,您不必担心堆栈溢出,因为调用堆栈不会增长。