IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

thread.join en python


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 30
    Par défaut thread.join en python
    import thread

    def yehhh():
    print "yeahhh"

    if __name__ == "__main__":
    print "debut"
    thread.start_new(yehhh,())
    thread.join
    print "la fin"


    Alors voila : ce petit bout de code me prend la tête. Je souhaite attendre la fin de mon thread avec (join) pour afficher "la fin".
    (vous l'aurez compris c'est une version TRES simplifiée de ma fonction "yeahhh")
    MAIS le join n'est pas reconnu.

    --> " 'module' object has no attribute 'join'

    Oui ca ok, mais je n'arrive pas à trouver la bonne syntaxe.

    Merci de votre aide !!

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Salut,

    Je pense que tu confonds avec le module threading

    http://docs.python.org/2/library/thr...dule-threading

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Par défaut
    Salut

    Je pense que tu dois faire quelque chose de comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import threading
     
    def yehhh():
        print "yeahhh"
     
    thread = threading.Thread(name='yehhh', target=yehhh)
    thread.start()
    thread.join()
    print "la fin"

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 30
    Par défaut
    Merci beaucoup !

    Mais j'ai un autre soucis

    en fait le thread "yehhh" en question peut générer une nouvelle fenetre !
    seulement, il continue sont execution et la fenetre finalement ne fait qu'apparaitre (le temps que dure le thread).

    que faudrait-il faire pour que le thread se bloque tant que la fenetre n'a pas écouté d'évènement ? et dès lors le faire repartir ?

    cordialement !

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    1.- Tu veux lancer un thread et attendre la fin de son exécution pour reprendre la main loop
    2.- Ouvrir une fenêtre et attendre son bon vouloir pour reprendre l'exécution du thread

    Tu nous décris très clairement là, un cas où il n'est nul besoin de thread. Quelle serait son utilité ?

    3.- Ouvrir une fenêtre (graphique, je n'en vois pas d'autre) à partir du thread ? Avec quel framework ? Tu as essayé ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 30
    Par défaut
    Trés franchement ?? Aucune idée de pourquoi un Thread !

    c'est en fait un programme que je dois "réparer"/"améliorer" ...
    en gros, j'ai une interface qui permet de lire le contenu d'un fichier texte et de l'interpreter.

    Il y a un bouton pour dérouler l'execution "Pas à pas" puis un pour
    "Tout d'un coup".

    Et donc pour ce dernier, mon chef me dit qu'il a utilisé un Thread pour pouvoir "garder la main sur l'interface ..."
    (le click déclanche le Thread qui lance toute l'execution)

    mais bon l'execution est tellement rapide que oui, il va falloir que je lui demande plus d'explications.

    Et donc ! aucours de l'execution "Tout d'un coup", dans le Thread vient un moment ou se lance une fenetre. reviens mon soucis : qui dit Thread, dit second plan, dit quand c'est fini "Bye Bye"..
    Je voulais donc bloquer (lock) le Thread jusqu'au Destroy de la vue.

Discussions similaires

  1. Arrêter un thread en python ?
    Par fanou31 dans le forum Général Python
    Réponses: 7
    Dernier message: 23/06/2013, 18h15
  2. Réponses: 19
    Dernier message: 07/02/2011, 17h12
  3. [Threads Win32]join et queue
    Par NiamorH dans le forum Windows
    Réponses: 2
    Dernier message: 03/04/2007, 11h48
  4. [MaJ] Thread et join() : le programme stoppe completement
    Par Zanton dans le forum EDT/SwingWorker
    Réponses: 37
    Dernier message: 20/06/2006, 15h25
  5. Effectuer du multi THREAD en python
    Par parp1 dans le forum Général Python
    Réponses: 3
    Dernier message: 10/05/2006, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo