Cũng có rất nhiều thao tác trong Python là an toàn luồng theo mặc định, do đó, từ điển chuẩn phải ổn định (ít nhất là ở một số khía cạnh nhất định). Điều này chủ yếu là do GIL, điều này sẽ giúp tránh được một số vấn đề nghiêm trọng hơn về luồng.
Có danh sách ở đây: http://coreygoldberg.blogspot.com/2008/09/python-thread-synchronization-and.html có thể hữu ích.
Mặc dù bản chất nguyên tử của các hoạt động đó chỉ có nghĩa là bạn sẽ không có trạng thái hoàn toàn không nhất quán nếu bạn có hai chuỗi truy cập từ điển cùng một lúc. Vì vậy, bạn sẽ không có một giá trị bị hỏng. Tuy nhiên bạn sẽ (như với hầu hết các chương trình đa luồng) không thể dựa vào thứ tự cụ thể của những hoạt động nguyên tử đó.
Vì vậy, để cắt một câu chuyện dài ngắn ...
Nếu bạn có yêu cầu khá đơn giản và không để phiền về Trật tự của những gì được ghi vào bộ nhớ cache sau đó bạn có thể sử dụng một từ điển và biết rằng bạn sẽ luôn nhận được giá trị nhất quán/không bị hỏng (nó chỉ có thể lỗi thời).
Nếu bạn muốn đảm bảo rằng mọi thứ đang ổn định hơn một chút liên quan đến đọc và viết với sau đó bạn có thể muốn nhìn vào bộ nhớ cache cục bộ của Django:
http://code.djangoproject.com/browser/django/trunk/django/core/cache/backends/locmem.py
Trong đó sử dụng một đọc/ghi khóa để khóa.
Nguồn
2008-10-18 17:48:05
Bạn nên chỉ ra rằng bộ đệm cục bộ cục bộ sẽ không chia sẻ các đối tượng trên các chuỗi. –