• # Bizarre, chez moi ça freeze pas

    Posté par (site web personnel) . En réponse au message Probleme de freeze en utilisant les thread python. Évalué à 1.

    C:\dev\koalaclient>python
    Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import threading,time
    >>> def fct(a,b) :
    ... print "fct(%d,%d)"%(a,b)
    ... time.sleep(1)
    ... print "fct(%d,%d)==>%d"%(a,b,a+b)
    ... return a+b
    ...
    >>> t=threading.Thread(target=fct,args=(3,5))
    >>> t.start()
    >>> fct(3,5)
    pfct(3,5)==>8
    rint t
    <Thread(Thread-1, stopped)>
    >>>

    Tu remarqueras l'intervention du thread pendant que je saisi "print"


    Remarque pour les threads et les GUI, autant que possible faire les interractions avec la GUI dans le thread qui a créé la GUI et qui gère la boucle évènementielle. Ca peut marcher en attaquant la GUI à partir d'autres threads, mais c'est généralement sans garantie et plantogène.

    De mémoire, sous windows lorsque tu manipules des contrôles dans d'autres threads, en bas niveau (WIN32) ça poste un message de ton thread dans la file de messages du thread qui gère la GUI, et ça attends que le message ait été traité.

    Autre chose, lorsque tu as a gérer une GUI évite de lancer ton script via IDLE. Tu peux l'y éditer, mais pour le lancer vaut mieux passer par la ligne de commande. Les interractions entre IDLE et le script GUI que tu lances se passent souvent mal.

    Ca aidera pas beaucoup pour ton freeze de thread...

    A+

    Laurent.

    Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN