2010-05-30 2 views

Antwort

56

In .NET 4 haben Sie die ConcurrentDictionary Klasse.

Wenn Sie eine ältere Version von .NET verwenden müssen, und wollen es selbst schreiben:

  • wickeln Sie ein Wörterbuch als privaten Feld in der Klasse
  • verwenden eine separate private object lockObject
  • nehmen Sie ein Schloss auf diesem lockObject um jeden Zugriff auf das Wörterbuch
+2

Nur wundern, warum "ein separates Schloss Objekt" verwenden? – MFatihMAR

+7

@MonoLightTech - ein bisschen theoretisch, aber wenn Code in der Dictionary-Klasse selbst oder externen Code, der "sehen" muss die Sperre auch darauf, Sie haben möglicherweise ein Deadlock. Verwenden Sie die Trennung von Bedenken: Das lockObject dient nur zum Sperren. –