我试图实现一个递归的斐波那契数列,它返回索引处的值。这是一项家庭作业,需要使用多线程来完成。这是我迄今为止所做的。我的问题是如何添加live_thread1
和live_thread2
的结果。线程必须在递归的每个级别创建。在python中创建递归线程
def Recursive(n):
if n< 2:
return n
else:
return Recursive(n- 1) + Recursive(n- 2)
def FibonacciThreads(n):
if n< 2:
return n
else:
thread1 = threading.Thread(target=FibonacciThreads,args=(n-1,))
thread2 = threading.Thread(target=FibonacciThreads,args=(n-2,))
thread1.start()
thread2.start()
thread1.join()
thread2.join()
return live_thread1+live_thread2
这是一个非常奇怪的任务。为什么你要开始一个新的线程什么也不做,而是开始一个新的线程(或两个)? –
你说这是作业,所以你必须这样做。但是创建一个线程会产生开销。这段代码会让__lots__的线程做很少的工作。我认为这不是一个好主意,可以用真实代码来实现。 – unholysampler
这是疯狂的,使用线程的指数算法?哦,我的上帝.... – TMS