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

Multithreading Discussion :

Application Qt multithread


Sujet :

Multithreading

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Application Qt multithread
    Bonjour,
    Je suis nouveau sur le forum et relativement novice avec la librairie Qt et le C++ en général bien que j'ai une lourde expérience de programmation préalable.
    Je développe depuis quelques temps une application avec Qt qui sert d'interface pour communiquer avec un device lent (PIC18) et qui se compose pour l'instant d'une classe qui gère la communication avec le device et d'une classe qui s'occupe du GUI. Comme le device est lent et peu fiable, il arrive souvent que l'application se bloque pendant quelques secondes voir crash si le device ne réponds pas. Afin de palier à ce problème j'ai pensé rendre l'application multithreads mais après quelques heures de bidouillage je n'ai toujours pas réussi à rendre mes appels non-bloquants. Avant de détailler plus avant mon code, je souhaite un conseil éclairé sur le bien fondé de ma démarche : Est-ce une bonne solution que de rendre l'application multithread pour éviter les temps d'attente et le crash ou y a-t-il plus simple? (notez que les crash de l'application est le problème majeur; le multithreading me permettra-t-il de l'éviter?)
    Merci d'avance pour votre aide.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par hackduc Voir le message
    Est-ce une bonne solution que de rendre l'application multithread pour éviter les temps d'attente
    oui, surtout si tu as une ihm, recherche sur le forum, il y as des thread du mêm style.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    et le crash ou y a-t-il plus simple? (notez que les crash de l'application est le problème majeur; le multithreading me permettra-t-il de l'éviter?)
    Merci d'avance pour votre aide.
    Tout dépend pourquoi ça crash

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette réponse.
    Une plantée typique intervient lorsque le device cesse d'émettre des données au milieu d'une transmission, la boucle de lecture entre dans une attente infinie et le programme freeze. Je pensais pouvoir éviter cela en créant un thread par opération de communication et en le killant s'il devait planter... Est-ce réaliste?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par hackduc Voir le message
    Merci pour cette réponse.
    Une plantée typique intervient lorsque le device cesse d'émettre des données au milieu d'une transmission, la boucle de lecture entre dans une attente infinie et le programme freeze. Je pensais pouvoir éviter cela en créant un thread par opération de communication et en le killant s'il devait planter... Est-ce réaliste?
    c'est pas un crash alors
    1- oui c'est une thread qui te faut.
    2- y as quand même des manières beaucoup plus propre que de killer une thread

    Pour commencer, tu peut te baser sur l'exemple de mandelbrot et regarder un peu sur le forum
    http://qt.developpez.com/doc/4.4/threads-mandelbrot/

Discussions similaires

  1. [QThread] Greffer Qt sur une application console multithread
    Par maestro_mirou dans le forum Multithreading
    Réponses: 0
    Dernier message: 24/04/2012, 11h09
  2. [QThread] Greffer Qt sur une application console multithread
    Par Charlock dans le forum Multithreading
    Réponses: 5
    Dernier message: 08/10/2010, 09h59
  3. [OS] APPLICATION MULTITHREAD
    Par epsilon68 dans le forum Développement OS X
    Réponses: 5
    Dernier message: 23/09/2007, 21h14
  4. variable locale dans une Application multithreading
    Par dev1980 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/06/2007, 12h59
  5. Log d'une application multithread
    Par speedster dans le forum Logging
    Réponses: 5
    Dernier message: 21/03/2007, 18h35

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