Wiele operacji w Pythonie jest domyślnie wątkowych, więc standardowy słownik powinien być w porządku (przynajmniej pod pewnymi względami). Wynika to głównie z GIL, który pomoże uniknąć niektórych poważniejszych problemów z gwintowaniem. Jest to lista: http://coreygoldberg.blogspot.com/2008/09/python-thread-synchronization-and.html, która może być przydatna.
Chociaż atomowa natura tej operacji oznacza po prostu, że nie będziesz miał całkowicie niespójnego stanu, jeśli masz dwa wątki uzyskujące dostęp do słownika w tym samym czasie. Więc nie miałbyś zepsutej wartości. Jednak (jak w przypadku większości programów wielowątkowych) nie można polegać na określonej kolejności tych operacji atomowych.
więc wyciąć długie opowiadanie ...
Jeśli masz dość proste wymagania i nie są do przejął zamawiania co się zapisana w pamięci podręcznej można użyć słownika i wiedzieć, że zawsze uzyska spójną/niezepsutą wartość (może być po prostu nieaktualna).
Jeśli chcesz mieć pewność, że rzeczy są nieco bardziej spójne w zakresie czytania i pisania, to możesz zajrzeć do Django lokalnej pamięci podręcznej:
http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/locmem.py
który wykorzystuje odczytu/zapisu blokadę do blokowania.
Należy zauważyć, że pamięć podręczna wątku lokalnego nie będzie współużytkować obiektów między wątkami. –