J'essaye d'implémenter une série récursive de Fibonacci qui renvoie la valeur à un index. C'est un devoir et doit être fait en utilisant le multi-threading. C'est ce que j'ai fait jusqu'ici. Ma question est comment puis-je ajouter les résultats de live_thread1
et live_thread2
. Les threads doivent être créés à chaque niveau de la récursivité.Création de threads récursifs en 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
Ceci est une affectation très étrange. Pourquoi voudriez-vous démarrer un nouveau thread ne fait rien mais commencer un nouveau thread (ou deux)? –
Vous avez dit que c'est devoirs, donc vous devez le faire. Mais il y a un overhead avec la création d'un fil. Ce code fera __lots__ de threads qui font très peu de travail. Je ne pense pas que ce serait une bonne idée de le faire en code réel. – unholysampler
Ceci est fou, algorithme exponentiel utilisant des discussions? Oh mon Dieu.... – TMS