Bueno, muchas operaciones en Python son seguras para hilos por defecto, por lo que un diccionario estándar debería estar bien (al menos en ciertos aspectos). Esto se debe principalmente al GIL, lo que ayudará a evitar algunos de los problemas de enhebrado más serios.
Hay una lista aquí: http://coreygoldberg.blogspot.com/2008/09/python-thread-synchronization-and.html que podría ser útil.
Aunque la naturaleza atómica de esas operaciones solo significa que no tendrá un estado totalmente inconsistente si tiene dos hilos que acceden a un diccionario al mismo tiempo. Entonces no tendrías un valor corrupto. Sin embargo, usted (como con la mayoría de los programas de multi-threading) no podrá confiar en el orden específico de esas operaciones atómicas.
Así que para cortar una larga historia corta ...
Si usted tiene requisitos bastante simples y no se preocupan de la ordenación de lo que se escriben en la memoria caché, puede utilizar un diccionario y saber que Siempre obtendrá un valor consistente/no corrompido (puede que esté desactualizado).
Si desea asegurarse de que las cosas son un poco más consistente con respecto a la lectura y la escritura entonces es posible que desee ver en caché de la memoria local de Django:
http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/locmem.py
que utiliza un bloqueo de lectura/escritura para bloquear
Debe señalar que un caché local de subprocesos no compartirá objetos a través de subprocesos. –