Python 为什么这种递归不会';t超过递归极限
首先我想用threading.Timer做一个无止境的循环,在我做了之后,我担心递归函数会超过Python中的递归限制,但是,在我进行如下测试之后,我发现递归函数将永远执行。为什么呢Python 为什么这种递归不会';t超过递归极限,python,multithreading,recursion,Python,Multithreading,Recursion,首先我想用threading.Timer做一个无止境的循环,在我做了之后,我担心递归函数会超过Python中的递归限制,但是,在我进行如下测试之后,我发现递归函数将永远执行。为什么呢 import threading recursion_count=0 def recursion(count): count=count+1 print("recursion_count: %d\n"%count) t = threading.Timer(0.1, recursion, (
import threading
recursion_count=0
def recursion(count):
count=count+1
print("recursion_count: %d\n"%count)
t = threading.Timer(0.1, recursion, (count,))
t.start()
if __name__=='__main__':
recursion(recursion_count)
这不超过任何递归限制的简单原因有两个:
如果要超过限制,请等待每个启动的线程从启动它的线程完成。这不超过任何递归限制的简单原因有两个:
如果要超出限制,请等待每个启动的线程从启动它的线程开始运行。代码中是否存在中断递归的条件?简单地说:新线程,新递归限制。限制是为了保护你免于错误和边缘情况,它仍然允许你故意攻击自己的腿。我看不到有递归。你的代码中有没有条件破坏递归?简单地说:新线程,新递归限制。这个限制是为了保护你不犯错误和边缘案件,它仍然允许你故意射中自己的腿。我看不出有什么递归。