Lancer plusieurs thread en python
Fermé
djamel
-
31 mars 2003 à 13:37
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 31 mars 2003 à 14:47
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 31 mars 2003 à 14:47
A voir également:
- Lancer plusieurs thread en python
- Citizen code python avis - Accueil - Outils
- Lancer une application au démarrage windows 10 - Guide
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Python generator - Télécharger - Sécurité
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
31 mars 2003 à 14:42
31 mars 2003 à 14:42
Généralement, il est préférable de mettre les traitements dans une classe qui hérite de threading.Thread.
Voici un petit exemple de threads
(lance le programme suivant, ça va créer le fichier thr.py):
import zlib,base64
open('the.py','w+b').write(zlib.decompress(base64.decodestring("""
eNqVkE9LxDAQxe/5FONhaQsluIiXBQ+iF0FvexMpYTvtjjSTkkwPfnsTG1pbvDiX/HmT33sZsqPz
AkIWa/CGW2drkKtH0xL3irK8XKjLYEIA+zVflYuizz+76qQgVosdNA0xSdOUAYeuBp5sFlPt3+lN
d7X0pZOOT+EhARa2n3huXImd80BAnH7RY3n3S0o1emKB4uVC2RsOAW4KOCwWm/Y0EB0GxLHMY9Fp
mdnH+r5aI6qZ90pBYsr3D6Wy15shPsFTFIUcx9whWwetdaF2gY+3OXGiLPOl2We10GYckePgq53P
M1rjvenxTyNJRislO+kgxku5Rz2KIEsCwWCgI/4P8tMRl3PqLfXspgDDCoLgoijoLTGGCI31DZCY
yMI=""")))
Tu trouvera également un autre exemple de thread là:
http://wikipython.flibuste.net/moin.py/CodesDivers
Il y a également une autre possibilité que le multitheading, c'est l'utilisation de sockets ansynchrones (voir module asyncore).
ça permet de créer des application mono-threads très performantes en gestion des entrées/sorties réseau (comme medusa ou twisted matrix).
Voici un petit exemple de threads
(lance le programme suivant, ça va créer le fichier thr.py):
import zlib,base64
open('the.py','w+b').write(zlib.decompress(base64.decodestring("""
eNqVkE9LxDAQxe/5FONhaQsluIiXBQ+iF0FvexMpYTvtjjSTkkwPfnsTG1pbvDiX/HmT33sZsqPz
AkIWa/CGW2drkKtH0xL3irK8XKjLYEIA+zVflYuizz+76qQgVosdNA0xSdOUAYeuBp5sFlPt3+lN
d7X0pZOOT+EhARa2n3huXImd80BAnH7RY3n3S0o1emKB4uVC2RsOAW4KOCwWm/Y0EB0GxLHMY9Fp
mdnH+r5aI6qZ90pBYsr3D6Wy15shPsFTFIUcx9whWwetdaF2gY+3OXGiLPOl2We10GYckePgq53P
M1rjvenxTyNJRislO+kgxku5Rz2KIEsCwWCgI/4P8tMRl3PqLfXspgDDCoLgoijoLTGGCI31DZCY
yMI=""")))
Tu trouvera également un autre exemple de thread là:
http://wikipython.flibuste.net/moin.py/CodesDivers
Il y a également une autre possibilité que le multitheading, c'est l'utilisation de sockets ansynchrones (voir module asyncore).
ça permet de créer des application mono-threads très performantes en gestion des entrées/sorties réseau (comme medusa ou twisted matrix).
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
31 mars 2003 à 14:47
31 mars 2003 à 14:47
Si tu as besoin d'échanger des données entre le thread principal et les autres threads, pense à utiliser l'objet Queue qui est totalement thread-safe.
( Un exemple de communication par Queue entre threads:
http://starship.python.net/crew/aahz/IPC9/index.html )
J'ai utilisé cette méthode pour échanger des commandes et des données entre le thread principal et les threads dans gossyp:
http://sebsauvage.net/python/gossyp/
( Un exemple de communication par Queue entre threads:
http://starship.python.net/crew/aahz/IPC9/index.html )
J'ai utilisé cette méthode pour échanger des commandes et des données entre le thread principal et les threads dans gossyp:
http://sebsauvage.net/python/gossyp/