L'autre fasson de voir les threads

Contenu du snippet

Suite a un code precedant,posté par Shinji ,qui presenté une fasson de faire des threads, j'ai adapté un code qui a été conçu de cette manière dans une seconde technique, pour montrer aux debutants dans ce domaine les differentes possibilités.
Cette methode repose sur l'utilisation de la methode start_new_thread() contenue dans le module thread .
Des explications suplementaires sont sur le forum:
http://www.pythonfrance.com/forum.v2.aspx?ID=318898
par taz_iup.

Source / Exemple :


#Cree un Thread simple.

#necessaire pour le thread
import thread
#necessaire pour attendre dans ma fonction MyThread() mais pas obligatoire du tout.
import time
#Je l'utilise pour stocker les informations de mes threads dan ma fonction
import Queue
# Le Queue bal permet a la fonction MyThread de montrer que les deux threads s'executent en meme temp.
bal = Queue.Queue (100)
#nb est le nombre de boucles qui vont etre executees
nb = 10
#ici on declare la fonction qui va etre executee par le thread.
def MyThread(name,Time=0.2): 
    for i in range(nb):
        print name, i 
        bal.put ("Msg %d from %s"%(i,name)) 
        time.sleep (Time)

#Ici on declare la fonction principale que l'on devra appeler.        
def main():
    #On lance nos threads (le premier argument est la fonction, le deuxieme est un tuple avec les arguments de cette fonction.
    thread.start_new_thread(MyThread,("Thread 1",0.20))
    thread.start_new_thread(MyThread,("Thread 2",0.20))
    for i in range (nb*2): 
        msg = bal.get () 
        print "Reception message :", msg 

if __name__ == "__main__":
    main()

Conclusion :


Voila, le code marche chez moi, mais si il ne marche pas chez vous, veuillez me prevenir :p .
C'est mon premier post, alors ne soyez pas indulgents...
L'affichage optenue est assez spécial, mais cette source n'est la que pour expliquer le fonctionnement.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.