Bonjour,
C'est plus une question générale concernant les threads mais je bosse en python donc je poste ici,
Comment faire pour qu'un programme qui ne comporte qu'une fonction récursive puisse utiliser les différents processeurs du pc sur lequel il est éxécuté ?
Le seul moyen je pense est de lancer un nouveau thread à chaque appel de la fonction, "acquérir" un verrou au debut de la fonction et le libérer avant l'appel récursif, est-ce bien la méthode appropriée ?
Je précise que la fonction ne retourne rien, ne modifie pas ses arguments et enregistre les résultats dans une variable globale, voila le schéma général :
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def solveur(<arguments>): if <condition arret> : <modification de la variable globale> return boucle : <traitement> if <condition>: solveur(<arguments>)
edit :
un peu de precisions:
ce que je voudrai faire c'est :
- lancement des n threads de profondeur 1 (ceux créés lors du premier appel) et les mettre en attente tant que le premier appel n'est pas terminé
- execution des n threads et création des m threads de profondeur 2, attente des m threads que les n soient terminés
- execution des m threads...
etc...
Je ne sais pas si je suis clair![]()
Partager