[Baypiggies] Synchronized in Python

Alex Martelli aleax at google.com
Mon Nov 12 19:09:21 CET 2007


On Nov 11, 2007 8:33 PM, Monte Davidoff <davidoff56 at alluvialsw.com> wrote:
   ...
>      def synchronized(L):
>          def lock_around(f):
>              def locked(*a, **k):
>                  with L:
>                      return f(*a, **k)
>              locked.__name__ = f.__name__
>              locked.__doc__ = f.__doc__
>              return locked
>          return lock_around
>
> (Decorator courtesy of Alex Martelli,
> http://www.aleax.it/Python/osc05_bla_dp.pdf, slide 14.)

Thanks for the credit, but a better approach today (rather than
assigning __name__ etc) is to use functools.wraps (look it up!-).

Alex


More information about the Baypiggies mailing list