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

Windows Discussion :

Interface 1 producteur, 2 consommateurs


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 91
    Points
    91
    Par défaut [RESOLU] Interface 1 producteur, 2 consommateurs
    Bonjour,

    Je développe une application dont un des modules produit des messages à destination de 2 autres modules.
    Avez-vous une idée d'architecture ?

    La FIFO n'est pas adaptée pour un système à 2 consommateurs. Y a t il une "FIFO évoluée" ?

    Merci d'avance

    Nicolas
    Strasbourg

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 72
    Points : 77
    Points
    77
    Par défaut
    Pour cela tu peux utiliser l'API des mailslots. Elle sert à la diffusion des messages vers plusieurs récipiendaires (mais sans accusé de réception, je crois).
    Sinon il y a la mémoire partagée, les pipes, ou plus tordu, les windows sockets.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Relis la définition de l'acronyme "FILO" et tu verras pourquoi ça n'a aucune utilité pour de la communication.

    Si tu veux faire du FIFO, par contre, il y a les tubes anonymes et nommés (FIFO basique) et les mailslots (FIFO évolués).

    Tes consommateurs, ils doivent tous les deux recevoir les mêmes données ? Ou bien il faut trier pour tel ou tel consommateur ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 91
    Points
    91
    Par défaut
    Effectivement, J'ai de écrit "FILO" au lieu de "FIFO".

    Je vais me renseigner sur les IPC.
    Pour la comm inter-thread, les mécanismes sont à peu près les mêmes ?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    En inter-thread au sein d'un même processus, tu peux utiliser n'importe quoi, puisque toute la mémoire est partagée.
    Simplement, il faut utiliser des mécanismes de synchronisation (typiquement des mutexes ou des sections critiques, voire des événements) pour éviter de lire pendant que les données sont en cours d'écriture...
    Ou bien, on peut utiliser des opérations atomiques, avec du double-buffering en prime...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 91
    Points
    91
    Par défaut
    Vu que les 2 consommateurs utilient exactement les mêmes données, et qu'il n'y a aucune synchronisation entre eux, je vais utiliser 2 FIFOs (une par consommateur).

    D'autres avis ?

    Nicolas
    Strasbourg

Discussions similaires

  1. Producteur et consommateur
    Par DSGSLA dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 19/11/2010, 11h41
  2. Sémaphores Producteur consommateur Windows
    Par Artusamak dans le forum Windows
    Réponses: 4
    Dernier message: 06/04/2007, 09h40
  3. Interface producteur/consommateur utilisant SWING
    Par El pistol dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 03/04/2006, 15h06
  4. [Threads]Producteur - Consommateur - Filemessages
    Par slim dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 08/03/2006, 18h57
  5. Réponses: 8
    Dernier message: 09/02/2006, 18h51

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