Hi, please consider the following code:
from __future__ import with_statement class safe_dict(dict): def __init__(self, *args, **kw): self.lock = threading.Lock() dict.__init__(self, *args, **kw) def __getitem__(self, key): with self.lock: return dict.__getitem__(self, key) def __setitem__(self, key, value): with self.lock: dict.__setitem__(self, key, value) def __delitem__(self, key): with self.lock: dict.__delitem__(self, key) - would I need to override another methods e.g. update() or items() in order to remain thread-safe or is this enough? - in __getitem__, does it release the lock after returning the item? - wouldn't it be better to use threading.RLock, mutex, ... instead? Thanks a lot! -- http://mail.python.org/mailman/listinfo/python-list