IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

taches paralleles avec thread


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut taches paralleles avec thread
    Salut,

    je souhaiterais savoir si qqn aurait un tuto très simple pour thread, pour le moment, j'en ai pas encore trouvé un qui fonctionne vraiement.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    bha, la doc est assez facile même pour les nuls en englais comme moi.
    http://docs.python.org/library/thread.html#module-thread

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut Les tuples
    Encore un soucis, je souhaiterais savoir à quoi servent les tuples d'arguments. En somme, qu'est ce qu'on est supposé définir dans les tuples?

    Mon exemple :

    thread.start_new_thread(calcul,[])

    Je ne sais pas ce que je dois mettre entre crochets. Si je ne saisis rien, il plante.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il vaut mieux utiliser le module threading, comme c'est recommandé dans la doc du module thread.

    De plus, je te suggère de partir systématiquement sur la construction d'une classe dérivée de threading.Thread.

    Tu pourras trouver quelques exemples d'application sur mon site: http://python.jpvweb.com/mesrecettes...ion_par_thread.

    L'exemple que j'ai trouvé le plus amusant à construire - et le plus complet- est l'application multi-thread avec communication par tableau blanc. Il y a un thread qui fabrique des expressions mathématiques au hasard et les inscrit sur un tableau (virtuel). Puis, des threads examinent le tableau, prennent l'une des expressions en attente s'il y en a une (sinon, attente), la calcule et inscrivent le résultat sur le tableau. Le thread principal prend en compte les résultats obtenus, les efface du tableau, régule l'ensemble et établit des statistiques sur l'évolution de l'activité. Même s'il s'agit d'une simple application du principe "producteur-consommateur", le fait d'avoir cet ensemble complexe qui marche tout seul en continu est impressionnant. On entrevoit facilement des applications intéressantes (simulation d'atelier par exemple).

    Tyrtamos

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    Citation Envoyé par nicogigo Voir le message
    Encore un soucis, je souhaiterais savoir à quoi servent les tuples d'arguments. En somme, qu'est ce qu'on est supposé définir dans les tuples?

    Mon exemple :

    thread.start_new_thread(calcul,[])

    Je ne sais pas ce que je dois mettre entre crochets. Si je ne saisis rien, il plante.
    la tuples contient les arguments à envoyer à la fonction appelée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import thread
    from time import sleep
     
    def monthread(nom='personne'):
        sleep(1)
        print nom,'?'
        sleep(2)
        print 'bonjour',nom
     
    thread.start_new_thread(monthread,('marcel',))
    for i in range(20):
        print i
        sleep(0.2)

Discussions similaires

  1. tache lourde avec threads
    Par Juliane15_2009 dans le forum C#
    Réponses: 3
    Dernier message: 23/05/2009, 16h51
  2. [Thread] traitement parallele avec executors
    Par komando dans le forum Concurrence et multi-thread
    Réponses: 9
    Dernier message: 31/10/2007, 13h40
  3. [SWING] Exception bizarre avec Thread
    Par Gob4 dans le forum Débuter
    Réponses: 2
    Dernier message: 13/09/2005, 21h55
  4. [MFC] Cherche Timer avec thread
    Par romeo9423 dans le forum MFC
    Réponses: 17
    Dernier message: 09/03/2005, 10h33
  5. Variable static avec thread
    Par oxor3 dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 27/08/2004, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo