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 :

QQueue et thread [Protection de données]


Sujet :

Multithreading

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Points : 248
    Points
    248
    Par défaut QQueue et thread
    Bonjour,

    J'ai 2 threads qui se partagent une QQueue, l'un des thread se contente d'ajouter des éléments pendant que l'autre ne fait qu'en enlever.

    Je voulais savoir s'il était indispensable de protéger ma file avec un mutex ou bien est-ce thread-safe ?

    Merci d'avance.

  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
    Oui, mais QQueue n'est pas du tous adapté.

    Regarde les exemples
    http://qt.developpez.com/doc/latest/threads-semaphores/
    http://qt.developpez.com/doc/latest/...tions-attente/
    qui correspondent plus à ce que tu veux.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Points : 248
    Points
    248
    Par défaut
    Moi qui n'avais jamais bien compris a quoi servait les semaphores , ça colle parfaitement a mes besoins .
    Merci bien !

    Par contre :
    Citation Envoyé par yan Voir le message
    Oui, mais QQueue n'est pas du tous adapté.
    C'est plutot les mutex qui ne sont pas adaptés non ? Car je ne voit pas en quoi l'usage de QQueue est en cause .

  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 atttchoum Voir le message
    C'est plutot les mutex qui ne sont pas adaptés non ? Car je ne voit pas en quoi l'usage de QQueue est en cause .
    Si tu veux exploiter une QQueue entre plusieurs thread, tu doit faire un sorte qu'un seule thread ne l'utilise à la fois. Et donc tu lock à coup de mutex. Et tu perd donc l'intérêt du multithreading à cause de la QQueue.

    Contrairement au exemple que j'ai donné ou tu peut accéder en parrallèle mais avec des astuce pour protégé la chose. A la place du tableau type C tu pourrais utilise un QVector.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par yan Voir le message
    Contrairement au exemple que j'ai donné ou tu peut accéder en parrallèle mais avec des astuce pour protégé la chose. A la place du tableau type C tu pourrais utilise un QVector.
    D'accord, je pensais qu'accéder à 2 éléments différents d'une QQueue était thread-safe.

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

Discussions similaires

  1. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  2. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28
  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