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 :

variables communes à plusieurs thread


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut variables communes à plusieurs thread
    Bonjour,

    Comment fait-on pour déclarer des variables communes à plusieurs thread?
    Doit-on utiliser les IPC comme pour les processus ?

    Sur les doc que je trouve on parle de vérrou par mutex et autre mais je ne saisi pas trop le fonctionnement.

    Désolé de cette question, je suppose qu'il y a bien des cours clairs là dessus

    Merci

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Z-fly Voir le message
    Comment fait-on pour déclarer des variables communes à plusieurs thread?
    Doit-on utiliser les IPC comme pour les processus ?

    Sur les doc que je trouve on parle de vérrou par mutex et autre mais je ne saisi pas trop le fonctionnement.

    Désolé de cette question, je suppose qu'il y a bien des cours clairs là dessus
    http://emmanuel-delahaye.developpez....ds.htm#donnees

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut
    Merci beaucoup, tout fonctionne à merveille maintenant

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut
    Juste une petite chose qui me tracasse encore

    La mémoire ocuppée par mon serveur augmente continuellement .

    Je croyais que l'espace ocuppé par chaque thread était libéré (chacun est détaché). Même s'ils font appel à des fonctions qui peuvent prendre de la mémoire, à la fin de la connexion on doit revenir au point initial.

    Dailleurs j'ai testé avec un thread qui se détache et affiche une chaine. La mémoire occuppé par mon serveur ne bouge pas, même apres 30 connexions.

    C'est bête quand même, au bout de 111 connexions il prends 2,2 Mo .
    Ca a l'air de rien sauf qu'au lancement il ocuppe .... 470 Ko

    Que pasa ?

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Z-fly Voir le message
    La mémoire ocuppée par mon serveur augmente continuellement .

    Je croyais que l'espace ocuppé par chaque thread était libéré (chacun est détaché). Même s'ils font appel à des fonctions qui peuvent prendre de la mémoire, à la fin de la connexion on doit revenir au point initial.
    La mémoire allouée par malloc() ne se libère pas automatiquement. C'est à toi de le faire explicitement.

    Montre ton code.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 42
    Par défaut
    je te remercies de ton aide mais j'ai plus de 200 lignes , c'est pas trés pratique à poster sur un forum

    Mais j'ai réussi à identifier des free manquants, et du coup la montée baisse un peu

    A propos des free, losque j'ai char** t, je dois fais faire free(t[1) et free([t2]) ou juste un free(t) suffit ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/07/2014, 10h39
  2. [débutant] partage de variable par plusieurs threads
    Par dahtah dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 06/03/2007, 13h34
  3. variable commune à plusieurs pages en JSP
    Par soumou dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/09/2006, 23h50
  4. Réponses: 5
    Dernier message: 20/09/2005, 22h48

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