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 :

Question a propos de SynchronizedCollection<T>


Sujet :

C#

  1. #1
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut Question a propos de SynchronizedCollection<T>
    Bonjour je voudrais utiliser un SynchronizedCollection<T> je voudrais savoir si je dois faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    lock(SynchronizedCollection<T>.SyncRoot)
    {
      ...
    }

    quand meme ou si les méthodes de ce type de collections sont toutes threadsafe.

    merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 150
    Par défaut
    Salut,

    Tu as la réponse sur le site msdn:
    http://msdn.microsoft.com/fr-fr/libr...65(VS.85).aspx

    "The SynchronizedCollection stores data in a List container and provides an object that can be set and used to synchronize access to the collection so that it is thread-safe."

  3. #3
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut
    Citation Envoyé par Spaeda Voir le message
    Salut,

    Tu as la réponse sur le site msdn:
    http://msdn.microsoft.com/fr-fr/libr...65(VS.85).aspx

    "The SynchronizedCollection stores data in a List container and provides an object that can be set and used to synchronize access to the collection so that it is thread-safe."
    Donc je dois utiliser SyncRoot !!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 150
    Par défaut
    La methode SyncRoot est bien Thread-Safe, donc je ne pense pas que le lock soit indispensable.

  5. #5
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut
    Oui enfin je veux dire que d'après ce que j'ai compris je dois faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    lock (TreatMentQueue.SyncRoot)
    {
    TreatMentQueue.Add(e.State);
    }

  6. #6
    Membre très actif
    Avatar de teddyalbina
    Homme Profil pro
    Développeur .Net,C++
    Inscrit en
    Janvier 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .Net,C++

    Informations forums :
    Inscription : Janvier 2008
    Messages : 466
    Par défaut
    Citation Envoyé par teddyalbina Voir le message
    Oui enfin je veux dire que d'après ce que j'ai compris je dois faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    lock (TreatMentQueue.SyncRoot)
    {
    TreatMentQueue.Add(e.State);
    }

    EDIT:
    AH non parce que la msdn dit :

    Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Discussions similaires

  1. Question a propos de LWP::Parallel::UserAgent
    Par shinux2004 dans le forum Modules
    Réponses: 2
    Dernier message: 03/09/2005, 03h01
  2. Question a propos de threads
    Par cryptorchild dans le forum Langage
    Réponses: 1
    Dernier message: 12/07/2005, 11h03
  3. [VBA-E] Question à propos des checkbox
    Par Timfg dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2005, 16h09
  4. Question a propos des modulos
    Par barthelv dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/03/2005, 16h56
  5. [debutant] Questions a propos du XML
    Par brune dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 04/06/2004, 10h39

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