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 :

[C#]Info sur Constructeur Mutex(boolean)


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Par défaut [C#]Info sur Constructeur Mutex(boolean)
    Bonjour à tous,

    But:
    Comprendre le constructeur Mutex(boolean)

    Définition de ce constructeur:

    Mutex (Boolean) Initialise une nouvelle instance de la classe Mutex avec une valeur Boolean qui indique si le thread appelant doit avoir la propriété initiale du mutex.
    Pris en charge par le .NET Compact Framework.
    Question:
    Est-ce que le fait que le thread appelant ne soit pas obligé d'avoir la propriété initial du mutex fait q'un autre thread peut utiliser le code dans le mutex en même temps?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Je suis pas sur de comprendre ta question. Si le thread qui construit le mutex n'en prend pas possession, et bien il n'en a pas la possession et un autre thread peut éventuellement la prendre...

  3. #3
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Par défaut
    Est-ce qu'il peut la prendre après un
    ou pendant que le précédent thread est dans le code du mutex???

  4. #4
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Citation Envoyé par SOXI
    Est-ce qu'il peut la prendre après un
    ou pendant que le précédent thread est dans le code du mutex???
    Il peut le prendre dès qu'il fait un mutex.WaitOne qui renvoie true.

  5. #5
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Par défaut
    Merci pour vos réponses.

    Enfait j'ai l'impression de ne pas comprendre à quoi sert le paramètre booléen du constructeur mutex.

    Auriez vous une explication ou un lien qui pourrait expliquer ce paramètre?

  6. #6
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    En fait faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim mut as Mutex = new Mutex(True)
    Equivaut à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim mut as Mutex = new Mutex(False) 
    mut.WaitOne() // tentative d'acquisition du mutex

  7. #7
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Par défaut
    Merci de la réponse,

    Oui d'accord en fait en mettant true ça donne au thread la possesion du mutex. Celui-ci libère quand il veut ce mutex. Du coup cela revient à attendre la libération d'un mutex par un thread non propriétaire.

    Merci encore.

    SOXI

  8. #8
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Citation Envoyé par SOXI
    Oui d'accord en fait en mettant true .... Du coup cela revient à attendre la libération d'un mutex par un thread non propriétaire.
    Non c'est le contraire.
    Ou alors c'est moi qui n'ai pas compris ta réponse.
    * Quand tu créé ton mutex avec false, au départ personne ne prend la main et n'importe quel thread peut entrer dans la section critique.
    * Si un de tes threads veut entrer en section critique, il doit faire un WaitOne, qui :
    * * bloquera ce thread si un autre thread est déjà dans la section critique
    * * ne le bloquera pas si la section critique est libre

    Alors que si tu le créé avec true, le thread qui a fait la création prend directement la main sur la section critique et aucun autre thread ne peut y rentrer jusqu'à ce que ton thread créateur fasse le ReleaseOne.

  9. #9
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Citation Envoyé par Mose
    Alors que si tu le créé avec true, le thread qui a fait la création prend directement la main sur la section critique et aucun autre thread ne peut y rentrer jusqu'à ce que ton thread créateur fasse le ReleaseOne.
    Suis d'accord avec "Serge" et j'avais oublié de préciser ça dans ma réponse

  10. #10
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 16
    Par défaut
    Oui merci,
    J'ai mal formulé ma phrase mais c'est ce que vous dites.

    Merci encore.

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

Discussions similaires

  1. info sur les paramètres de constructeur
    Par guiyomh dans le forum C++
    Réponses: 5
    Dernier message: 24/06/2008, 19h38
  2. Récupérer des infos sur un AVI
    Par FredericB dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2003, 14h25
  3. Demande d'info sur treeview
    Par Anaxagore dans le forum IHM
    Réponses: 6
    Dernier message: 28/08/2003, 18h27
  4. [MFC]Info sur da la fusion sous Word
    Par kor dans le forum MFC
    Réponses: 6
    Dernier message: 22/08/2003, 11h14
  5. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35

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