Nun, viele Operationen in Python sind standardmäßig threadsicher, daher sollte ein Standardwörterbuch in Ordnung sein (zumindest in bestimmten Punkten). Dies ist hauptsächlich auf die GIL zurückzuführen, mit der einige der gravierenderen Threading-Probleme vermieden werden können.
Es gibt eine Liste hier: http://coreygoldberg.blogspot.com/2008/09/python-thread-synchronization-and.html das könnte nützlich sein.
Obwohl die atomare Natur dieser Operation nur bedeutet, dass Sie keinen völlig inkonsistenten Zustand haben, wenn Sie zwei Threads gleichzeitig auf ein Wörterbuch zugreifen. Sie hätten also keinen beschädigten Wert. Allerdings würden Sie (wie bei der meisten Multi-Threading-Programmierung) nicht in der Lage sein, sich auf die spezifische Reihenfolge dieser atomaren Operationen zu verlassen.
So eine lange Geschichte kurz zu schneiden ...
Wenn Sie recht einfach Anforderungen haben und nicht über die Bestellung von gestört, was in den Cache geschrieben werden, dann können Sie ein Wörterbuch verwenden und wissen, dass Sie bekomme immer einen konsistenten/nicht-korrumpierten Wert (es könnte nur veraltet sein).
Wenn Sie möchten, um sicherzustellen, dass die Dinge ein wenig mehr im Einklang mit Bezug auf das Lesen und Schreiben sind dann möchten Sie vielleicht bei Django lokalen Speicher-Cache suchen:
http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/locmem.py
, die eine Lese-/Schreibsperre verwendet zum Sperren.
Sie sollten darauf hinweisen, dass ein thread-lokaler Cache keine Objekte über Threads hinweg freigeben wird. –