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

Linux Discussion :

Accès concurrent système/programme utilisateur.


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut Accès concurrent système/programme utilisateur.
    Bonjour à tous,

    J'ai une application multitâches (environ 15 threads) et j'aimerais que chaque thread puisse déposer un message dans une file avec le pourcentage cpu.
    Pour récupérer ce pourcentage cpu j'utilise l'appel suivant :
    popen("top -b -n 50 -d 1 | grep Cpu",.....)

    Ceci me renvoit un File *.
    Je me pose la question suivante :

    Si je donne à chaque thread le même File*, est-ce qu'il y a un risque de lire une donnée érronée (càd : est-ce que le système peut mettre à jour le pipe pendant qu'une lecture est commencée par un thread ?) ?.


    NB: La commande top est le seul moyen que j'ai trouvé pour avoir le %cpu suffisamment régulièrement. S'il y a un autre moyen je suis preneur.

    Merci beaucoup pour votre aide

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Contrairement au fork, différents threads accèdent à la même zone mémoire.
    Donc si 2 threads attaquent un même FILE *, le programme se comportera comme si c'était un accès unique.
    Ainsi, si ton fichier contient "2"; "3" et que chaque thread lit le fichier, le premier lira "2" et l'autre lira "3".
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut Merci !
    Merci de votre réponse, j'avais oublié cette propriété des threads !
    A bientôt

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Problème d'accès concurrents ?
    Par Herman dans le forum Modélisation
    Réponses: 11
    Dernier message: 30/01/2019, 12h31
  2. Réponses: 10
    Dernier message: 25/06/2015, 15h03
  3. [File] Accès concurrent à un fichier avec un programme Perl
    Par dreamincoco dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 30/11/2005, 18h48
  4. acces concurrent avec delphi 5 entreprise
    Par Jean_paul dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/11/2004, 20h19
  5. [EJB] Accès concurrents à la base de données
    Par cameleon2002 dans le forum Java EE
    Réponses: 10
    Dernier message: 23/09/2003, 11h31

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