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
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|