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 :

Synchronisation de plusieurs éxécutables


Sujet :

C

  1. #1
    Membre éprouvé
    Inscrit en
    Février 2004
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 102
    Par défaut Synchronisation de plusieurs éxécutables
    Bonjour,

    J'ai 4 programmes (que j'appelerais A, B, C et D) qui s'échangent des messages à travers une DLL.

    Je voudrais les synchoniser de façon que (par exemple) si A poste un message à B, les applications B, C et D ne peuvent poster de messages tant que A n'a pas reçu l'acquittement de B.

    J'ai pensé utiliser un mutex mais je ne vois pas comment le mettre en place ...

    Pourriez-vous me donner un petit coup de pouce ?

    Merci d'avance

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Il faudrait qu'on sache ce que tu compte faire avec 4 programmes.

    Sont-ils vraiment utiles? Est-ce que tu ne peux pas plutôt faire 4 threads?

    Sinon, en utilisant un programme E qui sera chargé de :
    - mettre en place une mémoire partagée
    - mettre en place le mutex
    - lancer le programme A, B, C, D selon le choix de l'utilisateur
    - donner à chacun de ces programme l'accès à cette mémoire partagée
    ?

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 492
    Billets dans le blog
    1
    Par défaut
    s'échangent des messages à travers une DLL
    Tu pourrais préciser stp ?


    Une idée comme ça à chaud pourrait être de faire un premier mutex "Droit de poster". A le prend, poste son message dans la zone partagée "Message" et attend une réponse de B en scrutant périodiquement l'état d'une zone partagée "ACK".
    Les autres programmes sont venir lire la zone partagée "Message". Par un mécanisme quelconque, B saura que c'est lui le destinataire (au hasard, faire commencer le message par 'B_') et écrit dans la zone "ACK".
    A voit que B à envoyer un ACK, il libère le mutex "Droit de poster" et ainsi d'autres programmes peuvent le prendre et écrire dans la zone partagée "Message".

Discussions similaires

  1. Synchronisation de plusieurs filtres
    Par armand06 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/02/2011, 12h04
  2. Synchronisation de plusieurs TCD
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 05/01/2011, 06h17
  3. Synchronisation de plusieurs onglets entre eux
    Par 44jeje44 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/04/2010, 17h16
  4. synchronisation de plusieurs timers
    Par adelsunwind dans le forum IHM
    Réponses: 1
    Dernier message: 24/08/2008, 23h44
  5. Synchronisation entre plusieurs base SQL Server
    Par vivoli12 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 19/05/2007, 13h47

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