2010-05-30 5 views

Répondre

56

Dans .NET 4, vous avez la classe ConcurrentDictionary.

Si vous avez besoin d'utiliser une ancienne version de .NET, et que vous voulez écrire vous-même:

  • envelopper un dictionnaire comme un champ privé dans votre classe
  • utiliser un private object lockObject
  • séparée
  • autour de chaque accès au dictionnaire lockObject
+2

Il suffit de se demander, pourquoi "utiliser un objet de verrouillage séparé"? – MFatihMAR

+7

@MonoLightTech - un peu théorique, mais si le code à l'intérieur de la classe Dictionary lui-même ou du code externe devant «voir» la collection se verrouille également, vous pouvez avoir un blocage. Utilisez la séparation des préoccupations: lockObject est uniquement pour le verrouillage. –