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

Boost C++ Discussion :

Boost signal thread safe?


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut Boost signal thread safe?
    Bonjour,

    J'aimerais savoir pourquoi les signaux de boost ne sont pas thread safe?
    ne peut-on vraiment pas les utiliser si on protege nos fonctions slots?

    Merci beaucoup d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Pourquoi : Parce que c'est plus compliqué, ya un cout, que sais-je encore...

    Perso, je les ai utilisé quand même, et ça marche en ajoutant le code qui va bien. De mémoire (ça va faire 1,5 ans de ça), ce qui posait le plus de problème, c'était l'ajout/suppression de slot pendant que l'on parcours la liste des slots (pas pendant que le slot est en cours d'exécution).

    Donc j'ai mis en place un mutex lors de l'ajout/suppression de slots, ainsi qu'au déclenchement d'un slot, et je wrap chaque slot de telle façon que pendant l'exécution du slot, ce mutex est libéré (l'inverse du RAII en sorte...), ce qui me permet de manipuler la liste des slots pendant l'exécution d'un slot, ce dont j'avais besoin.

    Maintenant, je ne sais pas si mon pattern d'utilisation couvre tous les cas d'ennuis possibles.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Par défaut
    Une version thread-safe est en cours de préparation, je ne sais pas ce que ça donne...

  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
    Si ca t'interresse,
    Qt fournie dans le même styles, des connections thread-safe

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 354
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 354
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Si ca t'interresse,
    Qt fournie dans le même styles, des connections thread-safe
    ... en fait je m'éloigne de Qt,
    J'utilise le plus possible boost. Je ne veux plus aucune dependance à Qt.

    Si j'utilise Qt, ce sera strictement pour l'interface!!!
    Je cherche en fait une bonne alternative d'ailleurs.

    si quelqu'un a de l'experience sur une autre lib qui soit multi-plateforme Linux/Macosx/Windows, je suis tout à son écoute.

  6. #6
    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 epsilon68 Voir le message
    ... en fait je m'éloigne de Qt,
    J'utilise le plus possible boost. Je ne veux plus aucune dependance à Qt.

    Si j'utilise Qt, ce sera strictement pour l'interface!!!
    Je cherche en fait une bonne alternative d'ailleurs.

    si quelqu'un a de l'experience sur une autre lib qui soit multi-plateforme Linux/Macosx/Windows, je suis tout à son écoute.
    Juste pour savoir. Pourquoi ne plus vouloir de Qt pour cette partie?

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/09/2010, 18h12
  2. boost::asio::ip::tcp::socket est elle thread safe ?
    Par nemodev dans le forum Boost
    Réponses: 4
    Dernier message: 24/02/2010, 13h08
  3. [RCP] Treeviewer non thread-safe ?
    Par Guildux dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 09/01/2007, 13h00
  4. [MFC] CMAP non thread safe ?
    Par fmarot dans le forum MFC
    Réponses: 5
    Dernier message: 04/10/2005, 13h21
  5. [SIGNAL] threads et processus
    Par beLz dans le forum POSIX
    Réponses: 14
    Dernier message: 21/12/2004, 01h28

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