Accueil > > > L'AUTRE FASSON DE VOIR LES THREADS
L'AUTRE FASSON DE VOIR LES THREADS
Information sur la source
Description
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?I D=318898 par taz_iup.
Source
- #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()
#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.
Historique
- 29 novembre 2005 21:24:02 :
- Ajout des mots clés.
Lancement automatique.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Python er Threads [ par dirthangel ]
Salut a tous je suis programmeur perl, j'aimerais savoir si les threads en python sont stable ? car c'est un vraie problème en Perl merci !!!
Note logiciel Python [ par Panthouffle ]
Salut, je cherche un site Internet qui donne un avis des utilisateurs sur le logiciel Python, une note de la part des utilisateurs pour un travail en
Script Python pour html [ par aera group ]
Bonjour, je uis actuelement au chapitre 17 du tutoriel de Gérard Swinnen : Apprendre à programmer avec Python (téléchargable sur http://www.cifen.ulg.
Aide : obtenir des information de Windows [ par aera group ]
Bonjour,je viens de tomber sur un site très interressant sur Python et Windows. Dans ce site, on a tous les codes utiles pour obtenir des information
eternel question: python vs java? [ par raptux ]
Salut a vous ,proffessionel ou amateur de programmation.Je voulait apprendre le C++Mais suite a mes diverses recherches (1semaines), j'ai appris que m
PETIT TABLEAU RECAPITULATIF DES ACTION PYTHON [ par raptux ]
Je me suis lancer depuis peu dans le python.J'aurait voulu savoir si il existe un petit tableau recapitulatif ,de toute les action que l'on peut ecrir
Lancer un script python [ par Zaltez ]
Bonjour à toutes et tous,Je me decide a poser la question sur ce forum après avoir essayer plusieurs solution expliqué sur internet sans résultat. En
probleme de compilation avec py2exe [ par gwenc_hlan ]
bonjour, pour des raisons professionnelles, je me vois obligé de prévoire de compiler mes programmes en fichier executables. pour cela, j'utilise py2e
net send dans un py [ par Crocandrew ]
Bonjour J'aimerais créer un petit programme python qui me permettrait d'envoyer des NET SEND sur un pc.....Le problème c'est que je ne sais pas commen
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Forum
PYVISA PROBLèMEPYVISA PROBLèME par sandrine44
Cliquez pour lire la suite par sandrine44
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|