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

C++ Discussion :

Comment implémenter un observateur thread safe ?


Sujet :

C++

  1. #1
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut Comment implémenter un observateur thread safe ?
    Bon jour,

    Je souhaiterait implémenter un observateur thread safe mais je voie vraiment pas comment faire.

    Mon observateur doit marcher avec des thread ou sans.

    Bon je sais, il y a plein de librairie qui le font déjà et très bien. J'aimerais bien les utilisé mais j'ai pas le droit. La roue carré j'aime pas mais bon j'ai pas le choix.

    Je fait de la programmation windows donc j'ai accès ou PostMessage et SendMessage mais je peut pas les utilisé car cela risque de bloqué l'interface.
    (J'aimerait même pouvoir m'en passer a vraie dire)

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Par thread-safe tu veux dire :
    1/ Que les objets du DP manipulent des données dans un thread et que ces données peuvent être manipulées par un autre thread ?
    2/ Que lorsque le sujet notifie, les observateurs soient invoqués chacun dans son thread ?

    Dans le premier cas, ce sont les objets 'standards' de gestion des conflits d'accès (mutex, section critique, sémaphore) sachant qu'on cherche à concevoir en évitant de faire apparaître de tel conflit (en travaillant avec des abstractions du métier et non des threads et en encapsulant les données dans les threads).

    Dans le second cas, cela dépend du pourquoi et de ton design. La palette peut aller effectivement de l'échange de message PostMessage ou Pipe ou encore event/condition jusqu'à l'utilisation de OpenMP s'il s'agit d'assurer une certaine scalabilité.

    Bref, dis-en un peu plus sur ton objectif ...

  3. #3
    Membre confirmé
    Avatar de Kalite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Points : 553
    Points
    553
    Par défaut
    Je voudrait qu'un sujet qui est dans un thread notifie l'observateur qui est dans le main thread. Il faut que sa interrompe le traitement.

    J'ai qu'un seul observateur qui peut avoir plusieurs sujet dans différent thread.

    Mais on ne sais jamais je pourrais avoir le cas nominal du DP (1 sujet/N observateurs).

Discussions similaires

  1. Comment implémenter lemonldap?
    Par Aldo dans le forum Apache
    Réponses: 7
    Dernier message: 25/01/2007, 21h32
  2. [Composant] Comment déclarer un code thread safe ?
    Par AiSpirit dans le forum Framework .NET
    Réponses: 5
    Dernier message: 26/08/2006, 11h37
  3. Comment implémenter un Datawarehouse ?
    Par raslain dans le forum Alimentation
    Réponses: 2
    Dernier message: 20/10/2005, 11h09
  4. [MFC] CMAP non thread safe ?
    Par fmarot dans le forum MFC
    Réponses: 5
    Dernier message: 04/10/2005, 13h21
  5. Comment suspendre un worker thread?
    Par Mastero dans le forum MFC
    Réponses: 8
    Dernier message: 08/07/2005, 13h06

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