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

Linux Discussion :

Clone/Fork vs pthreads vs GNUPTh


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut Clone/Fork vs pthreads vs GNUPTh
    Bonjour,
    je cherche le bon outil pour une gestion des threads optimale dans mes programmes C++.

    Le but ici est d'utiliser les possibilités des processeurs multicoeurs modernes, par exemple dans une application musicale, en parallélisant les calculs sur plusieurs threads + en envoyant les données vers un autre thread dédié au rendu sonore.

    J'ai donc besoin d'outils (fonctions systèmes C++) pour créer des threads, les synchroniser (sections critiques et évènements), en partageant un même espace d'adressage mémoire.

    Je commence tout juste à regarder ce qui existe et j'ai trouvé ceci :



    Ma première question est : y a-t-il d'autres alternatives ?
    Ma seconde question est : au vu de mes contraintes, quelle semble être la lib la plus indiquée et pourquoi ?

    Plus généralement j'aimerais recueillir vos avis et retours d'utilisation de ces trois méthodes, les avantages, performances et limitations de chacune.

    Merci d'avance!

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Je vais répondre simplement, tu as 2 possiblités:
    - pthread (pour la portabilité)
    - tbb (pour les performances)
    Cordialement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Bonjour,

    Que faut-il penser des QThread (threads Qt), et des threads de Boost ? Je sais m'en servir mais je ne connais pas les avantages en terme de performances (je pense que pour la portabilité ça se vaut évidement )

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par Le Mérovingien Voir le message
    Bonjour,

    Que faut-il penser des QThread (threads Qt), et des threads de Boost ? Je sais m'en servir mais je ne connais pas les avantages en terme de performances (je pense que pour la portabilité ça se vaut évidement )
    C'est toi qui voit, les Qthreads et les threads boost ne sont qu'une surcouche aux pthreads.
    Je ne fais pas de C++, mais mon choix se tournerait plutôt vers TBB.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    D'accord, merci, je ne savais pas que les threads boost et Qt utilisaient les pthread en dessous. Je ne savais d'ailleurs pas que les pthread avaient été portés sous windows.

    Perso j'utilise les pthread, qui sont plus souples je trouve, et en plus plus performants si les autres ne font que les reprendre .

    Il faudrait que je me renseigne sur les tbb, mais je n'ai jamais eu à écrire une appli massivement multi-thread, pour l'instant je threadais seulement des calculs assez long.

    A noté que la SDL fournit également des threads, qui sont faciles à utiliser je trouve (comme tout ce que propose la SDL )

    A+

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par Le Mérovingien Voir le message
    D'accord, merci, je ne savais pas que les threads boost et Qt utilisaient les pthread en dessous. Je ne savais d'ailleurs pas que les pthread avaient été portés sous windows.
    Oui, en revanche je doute que sous Windows Qt et Boost se base sur les pthreads, je pense plutôt aux apis WIN32.

    Citation Envoyé par Le Mérovingien Voir le message
    A noté que la SDL fournit également des threads, qui sont faciles à utiliser je trouve (comme tout ce que propose la SDL )
    Oui c'est vrai, il y a aussi la glib, mais reste sur des choses "professionnelles", intel offre un excellent support pour sa bibliothèque.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/02/2011, 18h04
  2. Réponses: 3
    Dernier message: 22/04/2010, 23h34
  3. Fork, pthread et serveur multi-clients
    Par Pico10 dans le forum POSIX
    Réponses: 13
    Dernier message: 05/01/2006, 11h48
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15

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