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 :

Signal entre threads


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut Signal entre threads
    Bonjour,

    Je voudrais savoir s'il est possible de coder la chose suivante ou non :

    Je veux écrire un programme qui contient un thread MASTER qui incrémente une variable S toutes les 2ms. Ce signal doit être saisi par un (ou deux) threads SLAVE et deux autres threads que j'appelle pr_sched et time_to_live. Tous ces threads doivent être signalés à chaque incrémentation de S.

    Puis (pendant ces 2 ms) Les slaves recevront un signal (variant de 0->7) de la part de pr_sched et, pour chaque signal, ces threads vont envoyer des données correspondant à ce signal et attendent le signal suivant qui est incrémenté par priority_sched. Quand tous les slaves auront fini l'envoi des données correspondant à ce signal (je pense que c'est le mécanisme de barrière qu'il faut utiliser ici )

    Donc si vous m'avez compris je demande seulement si c'est faisable ou non et si c'est faisaible quels sont les mots clés qui peuvent m'aider

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Avec une précision de 2ms, ça va dépendre du système d'exploitation. Sous Windows, aucune chance à moins de faire un truc élaboré pour tester à la fois le timer système et le Performance Counter...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2011
    Messages : 75
    Par défaut
    Tu devrais pouvoir t'en sortir avec la lib pthread.h.J'ai déjà fait des trucs avec 2 ms d'intervalles avec portables sous linux et seven. Après il faut que tout soit bien réglé et ne pas faire intervenir de Sleep...car en dessous de 20 ms les sleep Windows c'est pas très fiable et ne correspondra sans doute pas au temps désiré.

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut
    Merci, je vois ce que vous voulez dire la question de 2ms n'est pas mon grand probleme maintenant parceque ça sera dans le cadre de validation de cette periode.
    Cependant je suis débutant en c et je veux apprendre a faire communiquer des threads....des exemples, des tutos ou memes des commandes que je dois voir m'aideront beaucoup

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu n'as pas préciser ton (tes) système(s), ni les contraintes de portabilité (en gros si c'est pour "tous les *n*x", que pour Windows, ou pour tout y compris Windows).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 84
    Par défaut
    T'as raison, je m'excuse, j'ai oublié de mentionner que le code tournera sur une carte raspberry Pi donc linux embarqué.

Discussions similaires

  1. Problème de communications entre threads
    Par maya09 dans le forum Windows
    Réponses: 1
    Dernier message: 22/02/2006, 22h18
  2. [POSIX][SIGNAL] envoyer un signal a thread avec sigqueue
    Par Mokhtar BEN MESSAOUD dans le forum POSIX
    Réponses: 3
    Dernier message: 09/02/2006, 18h07
  3. Communication entre thread
    Par JFPS Soft dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 03/02/2006, 17h38
  4. [vb.net][Thread] Basculer entre Thread
    Par arnolem dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/01/2006, 18h59
  5. [c#][threading] communication entre threads
    Par orelero dans le forum C#
    Réponses: 6
    Dernier message: 02/01/2006, 00h42

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