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 :

Threading vs input() [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 1
    Par défaut Threading vs input()
    Bonjour,

    je réalise actuellement un serveur pour un jeu de labyrinthe et mon problème réside dans mon client. J'ai créée un Thread (class Receive(Thread)) pour recevoir les info du serveur (en occurrence une carte) et un Thread (class Send(Thread)) pour envoyer au serveur des chaines que l'utilisateur aura tapé. Mon Thread principale contient les info de connexion etc. Mon problème est que pour envoyer les info au serveur (Send), j'utilise un input() et que celui-ci fait stopper mon autre Thread (Receive) alors que celui-ci se trouve dans un Thread différent : Pourquoi? n'est ce pas le principe des thread de pouvoir réaliser plusieurs actions a la fois? je veux que l'utilisateur puisse recevoir des infos sans nécessairement devoir en envoyer.
    Comment puis-je faire autrement? D’où vient le problème?
    merci
      0  0

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par blablablax Voir le message
    que celui-ci fait stopper mon autre Thread (Receive) alors que celui-ci se trouve dans un Thread différent : Pourquoi? n'est ce pas le principe des thread de pouvoir réaliser plusieurs actions a la fois?
    Lorsque vous constatez un truc qui n'est pas logique, il faut prendre le temps d'essayer de reproduire la chose en dehors de votre application en utilisant les ingrédients de base suspectés.
    Ici qu'est ce qu'on à: un thread qui tourne et un autre qui attend la fin d'"input".
    Et si la question est "est ce qu'input bloque tout?", un début de réponse sera apporté par quelques lignes de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    from threading import Thread, Event
    from time import sleep
     
    done = Event()
     
    def do_something():
        count = 0
        while not done.is_set():
            print ('waiting', count)
            count += 1
            sleep(0.1)
     
    p = Thread(target=do_something)
    p.start()
    while True:
        try:
            s = input('$$$ ')
        except KeyboardInterrupt:
            done.set()
            break
        print ('********', s)
    p.join()
    print ('Bye')
    Et voilà... "input" ne bloque rien... et il va vous falloir cherchez un autre coupable (ou agrémenter l'exemple que j'ai écrit sur un coin de table pour qu'il reproduise le soucis que vous constatez).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels
      0  0

Discussion fermée
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/11/2009, 13h18
  2. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  3. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. [Kylix] Pb de Thread !!
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 25/04/2002, 13h53

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