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

SL & STL C++ Discussion :

Passage d'un conteneur stl a un pthread


Sujet :

SL & STL C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Passage d'un conteneur stl a un pthread
    Bonjour,

    Je travail sous linux avec le compilateur g++ et la librairie POSIX

    Dans un fichier cpp je crée un conteneut stl de type queue contenant des char.
    Ensuite je lance deux thread, contenu chacun dans deux fichier cpp differentt

    J'aimerai pouvoir utiliser mon conteneur dans ces threads et donc le passer en argument lors de l'appel des thread (l'argument devant etre de type void*).

    Je dois evidement proteger l'acces a ce conteneur et je vois le même probleme se poser pour le partage de mes mutex (crée dans un fichier cpp et devant etre utiliser entre plusieur thread (le code de ces thread étant contenu dans des fichier cpp different))

    Pour etre complet je dois dire que je bloque sur ce probleme depuis plusieurs heures

    Merci pour votre aide

  2. #2
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut
    Quel est le problème? Je ne vois pas de questions dans ton post !
    Si c'est un problème de passage d'arguments, alors ce code avec boost::bind devrait t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void fonction(std::vector<char>& vect)
    {
        // ...
    }
     
    int main()
    {
        std::vector vect;
        boost::thread my_thread (boost::bind(&fonction, boost::ref(vect)));
    }
    boost::thread prend une fonction avec void* comme paramètre, comme pthread.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Non, boost::thread prend un foncteur avec une signature void () comme paramètre.
    Boost ftw

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    327
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 327
    Points : 402
    Points
    402
    Par défaut
    Bonjour,
    Sinon tu pourrai mettre des conteneur dans une classe et faire hériter cette classe a tes threads

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class ThreadA : public Conteneur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class ThreadB : public Conteneur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class Conteur { /*Ici tu mets tes conteurs */};
    A bientôt

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Ça semble bien moche et je vois pas vraiment ce que ça apporte.
    Boost ftw

Discussions similaires

  1. problème avec les conteneurs STL
    Par burak dans le forum SL & STL
    Réponses: 7
    Dernier message: 19/04/2009, 17h43
  2. Conteneurs STL et références
    Par rockeye dans le forum SL & STL
    Réponses: 11
    Dernier message: 10/07/2008, 18h07
  3. Conteneurs STL : passage d'arguments par référence
    Par bolhrak dans le forum SL & STL
    Réponses: 0
    Dernier message: 26/09/2007, 20h54
  4. type conteneur stl
    Par star_light dans le forum SL & STL
    Réponses: 5
    Dernier message: 15/02/2005, 23h51
  5. Fonction polymorphe et conteneur stl.
    Par Captain Fizzou dans le forum SL & STL
    Réponses: 2
    Dernier message: 29/11/2004, 19h13

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