Phillip J. Eby wrote: > At 06:09 PM 8/4/04 +0200, Heiko Wundram wrote: > >> class x: >> synchronized = threading.Synchronizer() >> >> @synchronized >> def y(self): >> <do something> >> >> When's threading.Synchronizer coming (just a threading.(R)Lock with >> an extra >> __call__ which prepares a method for synchronization with this lock)? I >> already have some patches which implement module/class/instance >> locking using >> just a simple RLock and the decorator syntax, and I'd gladly sign >> over the >> patches to the PSF. ;) > > > Note that your example, if I understand it correctly, creates a single > lock for all instances of class 'x', rather than for individual > instances of 'x'. This is not what I'd normally expect from a > 'synchronized' method. Indeed it would, if implemented as described. However, one could use the same syntax and implement a Synchronizer that implemented locks at the instance level. Dirty tricks would be involved, but it is possible. (If I _ever_ get some free time, I will take a stab at doing it, too. Sounds like a good cookbook recipe) -Kevin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4