On Apr 17, 3:51 am, [EMAIL PROTECTED] wrote:
> I'm reading the docs now and I stumbled upon something:
> section "15.3 threading -- Higher-level threading interface" mensions
> a class "local", in which "... Thread-local data are data whose values
> are thread specific. ..."
>
> Does it mean, I can create global variables whose changing is thread-
> safe?
> More specific:
>
> import threading
>
> def change_i(arg):
>     global k
>     k.i = arg
>
> def change_j(arg):
>     global k
>     k.j = arg
>
> def changer():
>     change_i('changed_i')
>     change_j('changed_j')
>
> def run(i='', j=''):
>     global k
>     k = threading.local()
>     k.i = i
>     k.j = j
>     changer()
>     i = k.i
>     j = k.j
>     return i, j
>
> print run() == ('changed_i', 'changed_j')
>
> Is this ok?

I was too quick, "k = threading.local()" has to by outside of run(),
right?

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to