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 :

Imports dans les threads


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 21
    Points
    21
    Par défaut Imports dans les threads
    Bonsoir à tous,
    J'ai un problème très étrange avec mes threads : ils freezent à chaque fois qu'ils tombent sur une clause "import" mais uniquement lorsque ils sont exécutés depuis un autre fichier.

    Je vais essayer de l'expliquer plus clairement :
    J'ai un fichier iniy.py dans lequel j'ai mis toutes les fonctions utiles à l'initialisation de mon programme. Une de ces fonction est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        def start(self):
            self.status = Init.INTERNET # Sets an alive value immedently to avoid problems with isAlive
            thread.start_new_thread(self.initThread, ())
    et certaines des fonctions appelées par self.initThread continent des clauses import. Lorsque j'exécute seul le fichier, le thread s'exécute normalement mais dés que j'importe init.py en tant que lib et que j'exécute cette même fonction, le thread se bloque au premier import.
    Autre fait étrange, si j'exécute la fonction initThread sans passer par le thread, elle marche très bien...

    Y a t-il des limites aux imports ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 21
    Points
    21
    Par défaut
    C'est bon, j'ai trouvé un moyen de la faire marcher.

    C'est vraiment très bizarre : le code était avant exécuté lors de l'import d'une autre lib : j'importais la lib "gui" qui comportait des instruction à exécuter directement à l'import (dont l'init). En les enlevant pour les exécuter normalement, c'est à dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # import & run GUI
    import gui
    app = gui.mainGUI(0) #l'init est faite là
    app.MainLoop()
    Ça marche....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment utiliser les lock dans les threads ?
    Par skad dans le forum Général Python
    Réponses: 2
    Dernier message: 15/07/2008, 14h28
  2. mot clef import dans les Jsp
    Par 19cmos83 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2008, 15h58
  3. import dans les script python (objet zope)
    Par cronos6 dans le forum Zope
    Réponses: 5
    Dernier message: 10/09/2006, 14h47
  4. fonctionnent de la méthode run dans les threads
    Par L4BiN dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 25/07/2006, 11h06
  5. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 17h25

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