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 :

QtConcurent & QFuture avec priorité des threads [QtConcurrent]


Sujet :

Multithreading

  1. #1
    Membre expérimenté
    Avatar de laumaya
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Août 2008
    Messages : 82
    Par défaut QtConcurent & QFuture avec priorité des threads
    Bonjour,
    J'ai utilisé QThread avec une priorité basse pour que mon application reste réactive. Bien, mais maintenant, j'aurais besoin d'utiliser plusieurs threads.

    j'ai donc testé les fonctions de l'espace de nom QTConcurrent ainsi que les classes QFuture et QFutureWatcher

    Ces classes et fonctions sont très performantes et pratiques mais ils leurs manque la possibilité de définir la priorité des threads qu'elles lancent.

    Et pour mois, cette possibilité est primordiale.

    J'ai loupé un truc ou il ne me reste plus qu'a programmer un équivalent de QFuture...

    Merci.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par laumaya Voir le message
    Ces classes et fonctions sont très performantes et pratiques mais ils leurs manque la possibilité de définir la priorité des threads qu'elles lancent.
    Les QtConcurrent utilise QThreadPool. Je n'ai rien vue pour modifier le priorité

    Et pour mois, cette possibilité est primordiale.
    Pourquoi?

  3. #3
    Membre expérimenté
    Avatar de laumaya
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Août 2008
    Messages : 82
    Par défaut
    Citation Envoyé par yan Voir le message
    Pourquoi?
    Pour charger plusieurs fichiers (des centaines) en tache de fond en utilisant plusieurs threads sans bloquer l'utilisateur.

    J'ai déjà fait des tests, le pool de thread consomme trop de ressources processeurs ce qui rend l'application inutilisable pendant le chargement.

    J'ai donc programmé un pool de threads maisons en définissant une priorité basse aux threads.
    Avec cette technique, ça fonctionne bien mais j'aurais préféré utiliser QTConcurrent...

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par laumaya Voir le message
    J'ai déjà fait des tests, le pool de thread consomme trop de ressources processeurs ce qui rend l'application inutilisable pendant le chargement.

    bizarre. QtConcurrent utilise une nombre de thread adapté à la machine et vue que tu fait de la lecture de fichier c'est encore plus bizarre que cela te bloque autant l'ihm.
    Tu ne ferais pas des accès concurrent sur des ressources de l'os?

  5. #5
    Membre expérimenté
    Avatar de laumaya
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Août 2008
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Août 2008
    Messages : 82
    Par défaut
    Citation Envoyé par yan Voir le message

    bizarre. QtConcurrent utilise une nombre de thread adapté à la machine et vue que tu fait de la lecture de fichier c'est encore plus bizarre que cela te bloque autant l'ihm.
    Tu ne ferais pas des accès concurrent sur des ressources de l'os?
    Comme lorsque j'utilise des QThread avec une priorité basse je n'ai pas de problème de blocage d'IHM, je ne pense pas que le problème provienne à des accès concurrent de ressources de l'os.

    De plus, a priori, un nombre de threads adapté a une machine est certainement le nombre de processeurs ou cœurs de cette machine. Donc, sur une machine à 2 cœurs, sa donne 2 Threads ayant la même priorité que celui de l'IHM. Si chacun des 2 thread utilise intensivement le CPU, il me semble normale d'avoir des ralentissements important dans l'IHM.

    Pour conclure, je répète que j'ai trouvé une solution mais que je voulais juste être certain qu'il n'était pas possible de définir la priorité des threads dans un pool de threads.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajuster les priorités des threads
    Par Khan34 dans le forum C++
    Réponses: 2
    Dernier message: 09/07/2013, 23h38
  2. Serveur de chat avec utilisation des Threads
    Par teal_cfr dans le forum Général Java
    Réponses: 1
    Dernier message: 22/01/2010, 19h36
  3. problème de priorité des threads
    Par wauant dans le forum C
    Réponses: 4
    Dernier message: 18/04/2007, 08h51
  4. problème de priorité des threads
    Par wauant dans le forum Développement
    Réponses: 1
    Dernier message: 12/04/2007, 10h49
  5. [Threads] Actions continues avec des threads
    Par MiJack dans le forum Concurrence et multi-thread
    Réponses: 6
    Dernier message: 10/10/2005, 17h32

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