Sortie de boucle inexpliquée
Résolu
Char Snipeur
Messages postés
10112
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un certain nombre de calculs/taches à effectuer, et je ne voudrais pas en lancer plus d'un certain nombre de manière simultanée. Je fait donc une liste de thread que je remplis et vide au fur et à mesure. Mes tests sont stockés dans la liste "castests"
donc normalement, je ne devrais pas avoir plus de num_proc thread en simultané, je crée un nouveau thread dès qu'un est mort.
Seulement, ça ne fonctionne pas, je ne sais pas pourquoi, le while n'est pas pris en compte, tout les thread sont créé et lancer en même temps.
--
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
j'ai un certain nombre de calculs/taches à effectuer, et je ne voudrais pas en lancer plus d'un certain nombre de manière simultanée. Je fait donc une liste de thread que je remplis et vide au fur et à mesure. Mes tests sont stockés dans la liste "castests"
for castest in castests :
while len(threads)>=num_proc:
sleep(10)
for thread in threads:
if not thread.isAlive():
threads.remove(thread)
thread=thread_depuis(castest)
threads.append(thread)
thread.start()
donc normalement, je ne devrais pas avoir plus de num_proc thread en simultané, je crée un nouveau thread dès qu'un est mort.
Seulement, ça ne fonctionne pas, je ne sais pas pourquoi, le while n'est pas pris en compte, tout les thread sont créé et lancer en même temps.
--
La vrai soumission c'est quand les esclaves s'inquiètent du cours du coton.
Char Snipeur
2 réponses
-
La condition while len(threads)>=num_proc: ne serait-elle pas inversée ?
ça serait pas plutôt while len(threads)<=num_proc ?
-
Après des jours de recherche et de print j'ai trouvé. Je ne sais pas trop pourquoi, mais num_proc est traité comme un string et non comme un entier.
Du coup, la comparaison est toujours fausse ! C'est pour ça que j'aime les langages à typage fort !