Forum Programmation.c Thread

Posté par  .
Étiquettes : aucune
0
6
déc.
2006
Bonjour,

une question existentielle me hante depuis quelques temps a propos des threads :
on a donc des librairies pour les threads sous linux ( glib 2 si je ne m'abuse, j'ai vu passer aussi des NTPL et autres MPI...). Jusque la ca me parait clair.
J'utilise ma librairie et je fais mes threads.
Mais la ou ca devient etrange pour moi c'est a propos des librairies "specialisees", genre GDK ou SDL. Ces librairies possedent leur propres fonctions de threading. Et la j'ai que SDL et GDK comme exemples mais j'imagine que ca doit se retrouver dans moults autres.

Et donc la question est la suivante : si mon programme fonctionne avec des threads ainsi qu'un environnement graphique GDK faut il que j'utilise :
1) seulement les librairies threads linux
2) seulement les fonctions threads de GDK
3) les librairies threads de linux PLUS les fonctions threads de GDK ???

Remplacez "GDK" par n'importe quelle autre librairie et vous repondrez a ma question pour les X prochaines decennies...

Merci !

Oliv'
  • # whatever works best

    Posté par  (site web personnel) . Évalué à 4.

    Si ton projet utilise intensivement une bibliothèque spécifique implémentant aussi les threads d'une manière qui te convienne, c'est autant l'utiliser. Si la bibliothèque n'est pas vraiment indispensable, autant rester aux threads POSIX mais bien souvent il est peu pratique (voire dangereux) de mélanger les APIs.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # C'est simple

    Posté par  . Évalué à 5.

    Tu choisis entre 1) ou 2), soit l'un soit l'autre, ces librairies ne font rien d'autres que wrapper la librairie de threads de base pour la plupart. La seule raison pour eviter les melanges c'est que ca devient pas clair du tout dans ton code et difficilement debuggable et maintenable, mais c'est tout a fait faisable techniquement.
  • # MPI != threads

    Posté par  . Évalué à 3.

    on a donc des librairies pour les threads sous linux ( glib 2 si je ne m'abuse, j'ai vu passer aussi des NTPL et autres MPI...).


    MPI dans sa version 2 supporte les threads mais ce n'est pas une bibliothèque de threads.

    Sinon, comme il a été dit, il est préférable d'éviter les mélanges entre bibliothèques de threads si tu en as la possibilités, mais ce n'est pas forcément impossible de les utiliser simultanément dans un même programme.

    --
    http://www.tessier-net.org

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.