Hi,
> Multithreaded Code
> ------------------
>
> In multithreaded code, context variables behave like thread locals::
>
> var = new_context_var()
>
> def sub():
> assert var.lookup() is None # The execution context is empty
> # for each new thread.
> var.set('sub')
>
> def main():
> var.set('main')
>
> thread = threading.Thread(target=sub)
> thread.start()
> thread.join()
>
> assert var.lookup() == 'main'
>
it's by design that the execution context for new threads to be empty or
should it be possible to set it to some initial value? Like e.g:
var = new_context_var('init')
def sub():
assert var.lookup() == 'init'
var.set('sub')
def main():
var.set('main')
thread = threading.Thread(target=sub)
thread.start()
thread.join()
assert var.lookup() == 'main'
Thanks,
--francis
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com